## Description

https://leetcode.com/problems/height-checker/

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 `i`

student in line.^{th}

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 `i`

student in line (^{th}**0-indexed**).

Return *the number of indices where *

`heights[i] != expected[i]`

.**Example 1:**

Input:heights = [1,1,4,2,1,3]Output:3Explanation: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:5Explanation: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:0Explanation:heights: [1,2,3,4,5] expected: [1,2,3,4,5] All indices match.

**Constraints:**

`1 <= heights.length <= 100`

`1 <= heights[i] <= 100`

## Explanation

Sort the list to get the expected list order. Iterate the list and compare the list element with the element in the expected list, if not matched, add the unmatched count.

## Python Solution

```
class Solution:
def heightChecker(self, heights: List[int]) -> int:
expected = sorted(heights)
count = 0
for i, (height, expect) in enumerate(zip(heights, expected)):
if height != expect:
count += 1
return count
```

- Time Complexity: O(N).
- Space Complexity: O(1).