本文共 663 字,大约阅读时间需要 2 分钟。
请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。
注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。
示例:
输入:heights = [1,1,4,2,1,3]
输出:3 解释: 当前数组:[1,1,4,2,1,3] 目标数组:[1,1,1,2,3,4] 在下标 2 处(从 0 开始计数)出现 4 vs 1 ,所以我们必须移动这名学生。 在下标 4 处(从 0 开始计数)出现 1 vs 3 ,所以我们必须移动这名学生。 在下标 5 处(从 0 开始计数)出现 3 vs 4 ,所以我们必须移动这名学生。 示例 2:输入:heights = [5,1,2,3,4]
输出:5 示例 3:输入:heights = [1,2,3,4,5]
输出:0class Solution { public: int heightChecker(vector & heights) { vector sorted = heights; sort(sorted.begin(),sorted.end()); int cnt = 0; for(int i=0;i
vector数组声明的时候可以直接赋值,初始化一个相同的数组并将其排序,和原数组进行比较,如有一位不同,cnt++
转载地址:http://zlcuk.baihongyu.com/