DDSA Solutions

Bus Conductor

Time: O(n)
Space: O(1)
Advertisement

Intuition

Simulate bus ticketing: given boarding and alighting stops, compute passengers at each stop.

Algorithm

  1. 1For each passenger: increment count at boarding stop, decrement at alighting. Prefix sum gives occupancy.

Common Pitfalls

  • Difference array technique. O(n+m) where m = number of stops. Process boarding/alighting events.
Bus Conductor.java
Java
// Approach: Simulate passenger boarding and alighting at each stop. Track current load.
// Time: O(n) Space: O(1)
import java.util.*;

class Solution {
    public int findMoves(int[] chairs, int[] passengers) {
        Arrays.sort(chairs);
        Arrays.sort(passengers);
        int result = 0;
        for (int i = 0; i < chairs.length; i++)
            result += Math.abs(chairs[i] - passengers[i]);
        
        return result;
    }
}
Advertisement
Was this solution helpful?