lc163 Missing Ranges

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
public:
vector<string> findMissingRanges(vector<int>& nums, int lower, int upper) {
vector<string> res;
int prev = INT_MAX;
int lb = INT_MAX, ub;
nums.insert(nums.begin(),lower-1);
nums.push_back(upper+1);
for (auto i : nums) {
if (prev != INT_MAX) {
if (i - prev == 2) res.push_back(to_string(prev+1));
stringstream ss;
ss<<prev+1<<"->"<<i-1;
if (i - prev > 2 || i - prev < 0) res.push_back(ss.str());
}
prev = i;
}
return res;
}
};