Microsoft SDE Intern Interview Experience
💼 LTIMindtree Interview Experience (On-Campus) | Fresher | 2026
Salesforce SMTS | Interview Experience | Rejected
JPMC | SDE2 (Associate) - Java Backend - Interview Experience + Compensation
Microsoft - SDE2 - Coding Round
Summary Ranges – Asked in Yandex Interview
Summary
This post details my approach and solution to the 'Summary Ranges' problem, which I encountered during a Yandex interview.
Full Experience
Intuition
To summarize ranges in a sorted array, we can identify segments of consecutive numbers. Whenever a gap occurs between two numbers, it marks the end of the current range
Approach
We iterate through the array while keeping track of the start of the current range using a variable s.By appending float('inf') to the list, we ensure the final range is processed without requiring additional checks after the loop
At each step, we check if nums[i] - nums[i-1] > 1, which means the consecutive sequence has ended
We then:
- Record the range from s to
nums[i-1] - Update s to start a new range
from nums[i]
If the start and end of the range are the same, we store it as a single number. Otherwise, we use the "start->end" format
Complexity
- Time complexity: $$O(n)$$ — We go through the list once
- Space complexity: $$O(n)$$ — for storing the resulting list of summary strings
Interview Questions (1)
To summarize ranges in a sorted array, we can identify segments of consecutive numbers. Whenever a gap occurs between two numbers, it marks the end of the current range. My approach involves iterating through the array while keeping track of the start of the current range using a variable s. By appending float('inf') to the list, we ensure the final range is processed without requiring additional checks after the loop. At each step, we check if nums[i] - nums[i-1] > 1, which means the consecutive sequence has ended. We then record the range from s to nums[i-1] and update s to start a new range from nums[i]. If the start and end of the range are the same, we store it as a single number. Otherwise, we use the "start->end" format.