Missing Ranges
Problem Descriptionβ
Visit LeetCode for the full problem description.
Solutionsβ
Solution 1: C# (Best: 132 ms)β
| Metric | Value |
|---|---|
| Runtime | 132 ms |
| Memory | 41.3 MB |
| Date | 2022-01-12 |
Solution
public class Solution {
public IList<string> FindMissingRanges(int[] nums, int lower, int upper) {
List<string> result = new List<string>();
if (nums.Length == 0 || nums == null)
{
result.Add(getRange(lower, upper));
return result;
}
if(nums[0] > lower)
result.Add(getRange(lower, nums[0]-1));
for (int i = 1; i < nums.Length; i++)
{
if(nums[i] != nums[i-1]+1)
result.Add(getRange(nums[i-1]+1, nums[i]-1));
}
if(nums[nums.Length-1]<upper)
{
result.Add(getRange(nums[nums.Length-1]+1, upper));
}
return result;
}
private string getRange(int lo, int hi)
{
return (lo == hi) ? $"{lo}" : $"{lo}->{hi}";
}
}
Complexity Analysisβ
| Approach | Time | Space |
|---|---|---|
| Solution | To be analyzed | To be analyzed |