Bus Conductor
JavaView on GFG
Time: O(n)
Space: O(1)
Advertisement
Intuition
Simulate bus ticketing: given boarding and alighting stops, compute passengers at each stop.
Algorithm
- 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?