diff options
| author | crupest <crupest@outlook.com> | 2020-07-10 23:28:15 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2020-07-10 23:28:15 +0800 | 
| commit | 73e72af428db35dd3fb6cfef4b46185d18688db5 (patch) | |
| tree | ea71638da677195461f1c7ecbd0c4acfde49bf79 /works | |
| parent | 9c592f8539dd5550da7dc6cfc7638697e2acf684 (diff) | |
| download | crupest-73e72af428db35dd3fb6cfef4b46185d18688db5.tar.gz crupest-73e72af428db35dd3fb6cfef4b46185d18688db5.tar.bz2 crupest-73e72af428db35dd3fb6cfef4b46185d18688db5.zip  | |
import(solutions): Add problem 1051.
Diffstat (limited to 'works')
| -rw-r--r-- | works/solutions/cpp/1051.cpp | 33 | 
1 files changed, 33 insertions, 0 deletions
diff --git a/works/solutions/cpp/1051.cpp b/works/solutions/cpp/1051.cpp new file mode 100644 index 0000000..e55d877 --- /dev/null +++ b/works/solutions/cpp/1051.cpp @@ -0,0 +1,33 @@ +#include <vector> + +using std::vector; + +class Solution +{ +public: +    int heightChecker(vector<int> &heights) +    { +        vector<int> height_counter(101); +        for (int height : heights) +        { +            height_counter[height]++; +        } + +        auto iter = heights.cbegin(); + +        int result = 0; + +        for (int height = 1; height <= 100; height++) +        { +            int height_count = height_counter[height]; +            while (height_count > 0) +            { +                if (*iter++ != height) +                    result++; +                --height_count; +            } +        } + +        return result; +    } +};
\ No newline at end of file  | 
