示例
输入 heights = [1,1,4,2,1,3]
输出 3
输入 heights = [5,1,2,3,4]
输出 5
输入 heights = [1,2,3,4,5]
输出 0
1.第一种方法 排序 对比,记录变化的位置并返回
var outPutNumber = (heights)=>{
let arr = [...heights]
arr.sort((a,b)=>a-b)
let i = 0
let sum = 0
while(i<arr.length){
if(arr[i]!=heights[i]){
sum++
}
i++
}
return sum
}
2.第二种利用桶排序
var heightChecker2 = (heights)=>{
let arr = new Array(101).fill(0)
for(var i = 0; i<arr.length;i++){
arr[heights[i]]++
}
let count = 0
for(var i = 0,j=0; i<arr.length; i++){
while(arr[i]-->0){
if(heights[j++] != i){//用原始数据和桶里的数据比较
count++
}
}
}
}