1、题目描述
学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。
请你返回至少有多少个学生没有站在正确位置数量。该人数指的是:能让所有学生以 非递减 高度排列的必要移动人数。
示例:
输入:[1,1,4,2,1,3]
输出:3
解释:高度为 4、3 和最后一个 1 的学生,没有站在正确的位置。
输出:3
解释:高度为 4、3 和最后一个 1 的学生,没有站在正确的位置。
2、代码
1 //申请一个新的容器 2 //输入的容器的值赋值给新的容器,新的容器进行sort排序 3 //判断排序后的顺序和排序前的顺序有哪些位置不同,然后输出 4 class Solution { 5 public: 6 int heightChecker(vector<int>& heights) { 7 vector<int>newheight; 8 int counting=0; 9 /*for(int i=0;i<heights.size();i++){ 10 newheight.push_back(heights[i]); 11 }*///又是几条弱智的语句呀,为啥不直接相等呢!!!傻子 12 newheight=heights; 13 sort(newheight.begin(),newheight.end()); 14 for(int i=0;i<heights.size();i++){ 15 if(heights[i]!=newheight[i]) counting++; 16 } 17 return counting; 18 } 19 };