[Leet Code] Height Checker
Leetcode: https://leetcode.com/problems/height-checker/

Students are asked to stand in non-decreasing order of heights for an annual photo.

Return the minimum number of students that must move in order for all students to be standing in non-decreasing order of height.

Notice that when a group of students is selected they can reorder in any possible way between themselves and the non selected students remain on their seats.

Example 1:

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

Output: 3

Explanation:

Current array : [1,1,4,2,1,3]

Target array : [1,1,1,2,3,4]

On index 2 (0-based) we have 4 vs 1 so we have to move this student.

On index 4 (0-based) we have 1 vs 3 so we have to move this student.

On index 5 (0-based) we have 3 vs 4 so we have to move this student.

Solution:

class Solution(object):

def heightChecker(self, heights):

"""

:type heights: List[int]

:rtype: int

"""

counter = 0

sorted_array = sorted(heights)

for i in range(len(heights)):

if heights[i] != sorted_array[i]:

counter = counter + 1



return counter

Explanation:

We want to sort the array, then we just compare the unsorted array with the sorted one and count the each position that doesn’t have the same value at each of their respective indexes.
['Matthew Boyd']
['Leetcode', 'Leetcode Easy', 'Data Structures', 'Algorithms', 'Leetcode Solution']