summaryrefslogtreecommitdiff
path: root/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
commit736e12b0381c4d56487190bd61b82170f85c3e22 (patch)
treeef0e035f11ff933f6aef0f3862a0d811437561a0 /cpp
parent1f6f853365695d8e3c5cf1d897122859ad61885d (diff)
downloadsolutions-736e12b0381c4d56487190bd61b82170f85c3e22.tar.gz
solutions-736e12b0381c4d56487190bd61b82170f85c3e22.tar.bz2
solutions-736e12b0381c4d56487190bd61b82170f85c3e22.zip
Add problem 1051.
Diffstat (limited to 'cpp')
-rw-r--r--cpp/1051.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/cpp/1051.cpp b/cpp/1051.cpp
new file mode 100644
index 0000000..e55d877
--- /dev/null
+++ b/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