leetcode 每日一题 1051. 高度检查器
leetcode 每日一题 1051. 高度检查器
import ( "sort" ) func heightChecker(heights []int) int { var num = 0 src := heights dst := make([]int, len(src)) copy(dst, src) sort.Ints(dst) for i,_ := range dst { if dst[i] != src[i] { num++ } } return num }

计数排序优化
func heightChecker(heights []int) int { arr := [101]int{} for i := 0; i < len(heights); i++ { arr[heights[i]]++ } index := 0 res := 0 for i,data := range arr { if data == 0{ continue; } for j := 0 ; j < data ;j++ { if heights[index] != i { res++ } index++ } } return res }


浙公网安备 33010602011771号