Skip to main content
Back to problems
#1051
Easy Algorithms

Height checker

Array Sorting Counting Sort
81.6% acceptance
Feb 25, 2026
1776
122
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].

Solution

Rust
Time O(n log n)
Space O(1)
LeetCode
solution.rs
impl Solution {
  pub fn height_checker(heights: Vec<i32>) -> i32 {
    let mut sorted = heights.clone();
    sorted.sort();
    heights.iter().zip(sorted.iter()).filter(|(a, b)| a != b).count() as i32
  }
}