How do you arrange buildings with a sea view using an optimal algorithm?

DSA
Medium
Microsoft Corporation
114.3K views

Direct Answer

This problem tests your ability to solve array-based optimization problems with a focus on time complexity. It involves iterating through data to find valid configurations.

Why Interviewers Ask This

Building arrangement problems simulate real-world constraints like visibility and height limits. Interviewers assess your ability to iterate efficiently and maintain state variables. It checks if you can achieve O(n) time complexity rather than a brute-force O(n^2) solution.

How to Answer This Question

Explain that the goal is to ensure each building has a clear view of the sea, typically defined by being taller than all buildings to its right. Suggest iterating from right to left to keep track of the maximum height seen so far. If the current building is taller than the max, it gets a view. Count or mark these buildings as you go. This single pass ensures optimal performance.

Key Points to Cover

  • Right-to-left iteration
  • Tracking maximum height
  • Comparison logic for visibility
  • Optimal time complexity

Sample Answer

To solve this, iterate through the array of building heights from right to left. Maintain a variable to track the maximum height encountered so far. For each building, if its height is greater than the current maximum, i…

Common Mistakes to Avoid

  • Iterating left to right incorrectly
  • Comparing with neighbors only instead of max
  • Using nested loops unnecessarily

Sound confident on this question in 5 minutes

Answer once and get a 30-second AI critique of your structure, content, and delivery. First attempt is free — no signup needed.

Try it free

Related Interview Questions

Browse all 127 DSA questionsBrowse all 50 Microsoft Corporation questions