File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments