Golang:
思路:这题最好的思路是桶排序,因为限制条件明确而清晰,这里不得不说大佬还是大佬。常规思路自然是:将数组复制一遍,然后排序,排完序后的数组与原数组对比,求出所有同一位上数值不同的元素的数量。
代码如下:
func heightChecker(heights []int) int {
if len(heights)<=1 {
return len(heights)
}
temp:=make([]int,len(heights))
copy(temp,heights)
sort.Ints(temp)
res:=0
for i:=0;i<len(heights);i++{
if temp[i]!=heights[i] {
res++
}
}
return res
}
有疑问加站长微信联系(非本文作者)