aboutsummaryrefslogtreecommitdiff
path: root/works/solutions/cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-07-10 23:28:15 +0800
committercrupest <crupest@outlook.com>2020-07-10 23:28:15 +0800
commit73e72af428db35dd3fb6cfef4b46185d18688db5 (patch)
treeea71638da677195461f1c7ecbd0c4acfde49bf79 /works/solutions/cpp
parent9c592f8539dd5550da7dc6cfc7638697e2acf684 (diff)
downloadcrupest-73e72af428db35dd3fb6cfef4b46185d18688db5.tar.gz
crupest-73e72af428db35dd3fb6cfef4b46185d18688db5.tar.bz2
crupest-73e72af428db35dd3fb6cfef4b46185d18688db5.zip
import(solutions): Add problem 1051.
Diffstat (limited to 'works/solutions/cpp')
-rw-r--r--works/solutions/cpp/1051.cpp33
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