1051. Height Checker(Solution || Leetcode easy || Java)

Palakkgoyal
2 min readNov 14, 2022

--

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:

  • 1 <= heights.length <= 100
  • 1 <= heights[i] <= 100

SOLUTION:

class Solution {
public int heightChecker(int[] heights) {
//Create a temporary array to store the sorted elemetns
int[] temp = new int[heights.length];

//copy elements of heights into temp
for(int i = 0; i < heights.length; i++){
temp[i] = heights[i];
}


//Sort the temporary array
Arrays.sort(temp);

int count = 0;

//Check for expected elements at the index
for(int i = 0; i < heights.length; i++){
if(temp[i] != heights[i]){
//if element is not equal to expected than increase count
count++;
}
}

return count;
}
}

Thank you for reading. If you have any queries then, please let me know in the comment section. I will surely be responsive toward it.

--

--

Palakkgoyal
Palakkgoyal

Written by Palakkgoyal

Solutions to all your coding related problems at one point. DSA question on daily basis and much more.

No responses yet