Skip to main content
Back to problems
#1936
Medium Algorithms

Add minimum number of rungs

Array Greedy
43.8% acceptance
Feb 25, 2026
394
31
You are given a strictly increasing integer array rungs that represents the height of rungs on a ladder. You are currently on the floor at height 0, and you want to reach the last rung. You are also given an integer dist. You can only climb to the next highest rung if the distance between where you are currently at (the floor or on a rung) and the next rung is at most dist. You are able to insert rungs at any positive integer height if a rung is not already there. Return the minimum number of rungs that must be added to the ladder in order for you to climb to the last rung.

Solution

Rust
Time O(n)
Space O(1)
LeetCode
solution.rs
impl Solution {
  pub fn add_rungs(rungs: Vec<i32>, dist: i32) -> i32 {
    let mut prev = 0;
    let mut count = 0;
    for &r in &rungs {
      let gap = r - prev;
      if gap > dist {
        count += (gap - 1) / dist;
      }
      prev = r;
    }
    count
  }
}