Skip to content

Commit 3deaa40

Browse files
Sean PrashadSean Prashad
authored andcommitted
Add 163_Missing_Ranges.java
1 parent 819c083 commit 3deaa40

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

Strings/163_Missing_Ranges.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
class Solution {
2+
public List<String> findMissingRanges(int[] nums, int lower, int upper) {
3+
List<String> result = new ArrayList<>();
4+
5+
if (nums.length == 0) {
6+
result.add(intervalToString(lower, upper));
7+
return result;
8+
}
9+
10+
if (lower < nums[0]) {
11+
result.add(intervalToString(lower, nums[0] - 1));
12+
}
13+
14+
for (int i = 0; i < nums.length - 1; i++) {
15+
if (nums[i] == nums[i + 1] || nums[i] + 1 == nums[i + 1]) {
16+
continue;
17+
}
18+
19+
result.add(intervalToString(nums[i] + 1, nums[i + 1] - 1));
20+
}
21+
22+
if (nums[nums.length - 1] < upper) {
23+
result.add(intervalToString(nums[nums.length - 1] + 1, upper));
24+
}
25+
26+
return result;
27+
}
28+
29+
private String intervalToString(int low, int high) {
30+
return low == high ? low + "" : low + "->" + high;
31+
}
32+
}

0 commit comments

Comments
 (0)