[Leetcode刷题]Missing Ranges
2016-06-25 09:51
253 查看
Given a sorted integer array where the range of elements are [lower, upper] inclusive, return its missing ranges.
For example, given
99, return
Solutions
public class Solution {
public List<String> findMissingRanges(int[] nums, int lower, int upper) {
List<String> result = new ArrayList<String>();
if(nums == null){
return result;
}
if(lower <= Integer.MIN_VALUE || upper >= Integer.MAX_VALUE || lower > upper){
return result;
}
int cur;
// check for the first interval
int prev = lower - 1;
for(int i = 0; i <= nums.length; i++){
// check for the last interval
cur = i == nums.length? upper + 1 : nums[i];
if(cur - prev > 1){
result.add(range(prev + 1, cur - 1));
}
prev = cur;
}
return result;
}
public String range(int start, int end){
return start == end? String.valueOf(start) : start + "->" + end;
}
}
For example, given
[0, 1, 3, 50, 75], lower = 0 and upper =
99, return
["2", "4->49", "51->74", "76->99"].
Solutions
public class Solution {
public List<String> findMissingRanges(int[] nums, int lower, int upper) {
List<String> result = new ArrayList<String>();
if(nums == null){
return result;
}
if(lower <= Integer.MIN_VALUE || upper >= Integer.MAX_VALUE || lower > upper){
return result;
}
int cur;
// check for the first interval
int prev = lower - 1;
for(int i = 0; i <= nums.length; i++){
// check for the last interval
cur = i == nums.length? upper + 1 : nums[i];
if(cur - prev > 1){
result.add(range(prev + 1, cur - 1));
}
prev = cur;
}
return result;
}
public String range(int start, int end){
return start == end? String.valueOf(start) : start + "->" + end;
}
}
相关文章推荐
- leetcode 179 Largest Number
- leetcode 24 Swap Nodes in Pairs
- leetcode 2 Add Two Numbers 方法1
- leetcode 2 Add Two Numbers 方法2
- leetcode----Longest Substring Without Repeating Characters
- [LeetCode]47 Permutations II
- [LeetCode]65 Valid Number
- [LeetCode]123 Best Time to Buy and Sell Stock III
- [LeetCode] String Reorder Distance Apart
- [LeetCode] Sliding Window Maximum
- [LeetCode] Find the k-th Smallest Element in the Union of Two Sorted Arrays
- [LeetCode] Determine If Two Rectangles Overlap
- [LeetCode] A Distance Maximizing Problem
- leetcode_linearList
- leetcode_linearList02
- 021-Merge Two Sorted Lists(合并两个排好序的单链表);leetcode
- LeetCode[Day 1] Two Sum 题解
- LeetCode[Day 2] Median of Two Sorted Arrays 题解
- LeetCode[Day 3] Longest Substring Without... 题解
- LeetCode [Day 4] Add Two Numbers 题解