1051. Height Checker*
https://leetcode.com/problems/height-checker/
题目描述
Students are asked to stand in non-decreasing order of heights for an annual photo.
Return the minimum number of students not standing in the right positions. (This is the number of students that must move in order for all students to be standing in non-decreasing order of height.)
Example 1:
Input: [1,1,4,2,1,3]
Output: 3
Explanation:
Students with heights 4, 3 and the last 1 are not standing in the right positions.
Note:
1 <= heights.length <= 100
1 <= heights[i] <= 100
C++ 实现 1
先对数组进行拷贝, 然后对备份进行从小到大排序, 再分别对比两个数组哪些位置上元素不相等.
class Solution {
public:
int heightChecker(vector<int>& heights) {
// 或者 vector<int> sort_heights(heights);
auto sort_heights = heights;
std::sort(sort_heights.begin(), sort_heights.end());
int count = 0;
for (int i = 0; i < heights.size(); ++i)
if (heights[i] != sort_heights[i])
count ++;
return count;
}
};