leetcode-163. Missing Ranges

Given a sorted integer array where the range of elements are [lower, upper] inclusive, return its missing ranges.

For example, given [0, 1, 3, 50, 75], lower = 0 and upper = 99, return [“2”, “4->49”, “51->74”, “76->99”].
原题地址

挺简单的一道题,不知道有什么可说的。

1
2
3
4
5
6
7
8
9
10
11
12
vector<string> findMissingRanges(vector<int>& nums, int lower, int upper) {
nums.push_back(upper + 1);
vector<string> re;
int prev = lower - 1;
for (int i : nums) {
if (i > prev + 2)
re.push_back(to_string(prev + 1) + "->" + to_string(i - 1));
else if (i == prev + 2)
re.push_back(to_string(prev + 1));
prev = i;
}
return re;