LeetCode in Kotlin

1051. Height Checker

Easy

A school is trying to take an annual photo of all the students. The students are asked to stand in a single file line in non-decreasing order by height. Let this ordering be represented by the integer array expected where expected[i] is the expected height of the ith student in line.

You are given an integer array heights representing the current order that the students are standing in. Each heights[i] is the height of the ith student in line (0-indexed).

Return the number of indices where heights[i] != expected[i].

Example 1:

Input: heights = [1,1,4,2,1,3]

Output: 3

Explanation:

heights: [1,1,4,2,1,3]

expected: [1,1,1,2,3,4]

Indices 2, 4, and 5 do not match.

Example 2:

Input: heights = [5,1,2,3,4]

Output: 5

Explanation:

heights: [5,1,2,3,4]

expected: [1,2,3,4,5]

All indices do not match.

Example 3:

Input: heights = [1,2,3,4,5]

Output: 0

Explanation:

heights: [1,2,3,4,5]

expected: [1,2,3,4,5]

All indices match.

Constraints:

Solution

class Solution {
    fun heightChecker(heights: IntArray): Int {
        var heightDiff = 0
        val count = IntArray(101)
        val actualLine = IntArray(heights.size)
        for (height in heights) {
            count[height]++
        }
        var heightLength = 0
        for (i in count.indices) {
            if (count[i] > 0) {
                for (j in 0 until count[i]) {
                    actualLine[heightLength] = i
                    heightLength++
                }
                count[i] = 0
            }
        }
        for (i in heights.indices) {
            if (actualLine[i] != heights[i]) {
                heightDiff++
            }
        }
        return heightDiff
    }
}
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy