# Leetcode 163 - Missing Ranges [Easy] (Premium)
## Description
You are given an inclusive range `[lower, upper]` and a sorted unique integer array nums, where all elements are within the inclusive range.
A number `x` is considered missing if `x` is in the range `[lower, upper]` and `x` is not in `nums`.
Return the shortest sorted list of ranges that exactly covers all the missing numbers. That is, no element of `nums` is included in any of the ranges, and each missing number is covered by one of the ranges.
### Example 1:
```
Input: nums = [0,1,3,50,75], lower = 0, upper = 99
Output: [[2,2],[4,49],[51,74],[76,99]]
Explanation:
The ranges are:
[2,2]
[4,49]
[51,74]
[76,99]
```
### Example 2:
```
Input: nums = [-1], lower = -1, upper = -1
Output: []
Explanation:
There are no missing ranges since there are no missing numbers.
```
### Constraints:
* `-109 <= lower <= upper <= 109`
* `0 <= nums.length <= 100`
* `lower <= nums[i] <= upper`
* `All the values of nums are unique.`
## Solution
* insert the lower bound (`lower-1`) and upper bound (`upper+1`) to nums
* compute the each range by subtracting from the previous element
### C++
```
vector<vector<int>> findMissingRanges(vector<int>& nums, int lower, int upper)
{
vector<vector<int>> res;
nums.insert(nums.begin(), lower-1);
nums.push_back(upper+1);
for(int i = 1; i < nums.size(); i++){
if((nums[i] - nums[i-1]) > 1){
res.push_back({nums[i-1]+1, nums[i]-1});
}
}
return res;
}
```