Height Checker - golang
package main

import "fmt"

func main() {
	heights := []int{1, 1, 4, 2, 1, 3}
	result := heightChecker(heights)
	fmt.Println("Result is:", result)
}

func heightChecker(heights []int) int {

	if heights == nil {
		return 0
	}

	result := 0
	cur := 0

	var cnt [101]int
	for _, n := range heights {
		cnt[n]++
	}

	for i := 0; i < len(heights); i++ {

		for cnt[cur] == 0 {
			cur++
		}

		if cur != heights[i] {
			result++
		}

		cnt[cur]--
	}

	return result
}
Comments (0)