【LeetCode】163.Missing Ranges(Medium)(带锁题)解题报告
2018-02-20 23:10
399 查看
【LeetCode】163.Missing Ranges(Medium)(带锁题)解题报告
题目地址:https://leetcode.com/problems/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”].
要化为long型,比如[2^32-1] 0 214748647 , [“0->214748646”],[“0->214748646”,”-214748648->2147483647”]
Solution:
Date:2018年2月20日
题目地址:https://leetcode.com/problems/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”].
要化为long型,比如[2^32-1] 0 214748647 , [“0->214748646”],[“0->214748646”,”-214748648->2147483647”]
Solution:
//time : O(n) //space : O(1) class Solution { public List<String> findMissingRanges(int[] nums,int lower, int upper) { List<String> res = new ArrayList<>(); long alower = (long)lower,aupper = (long)upper; for(int num : nums){ if(num == alower){ alower++; }else if(alower < num){ if(alower + 1 == num){ res.add(String.valueOd(alower)); }else{ res.add(alower + "->" + (num-1)); } alower = (long)num + 1; } } if(alower == aupper) res.add(String.valueOf(alower)); else if(alower < aupper) res.add(alower + "->" + aupper); return res; } }
Date:2018年2月20日
相关文章推荐
- LeetCode解题报告 122. Best Time to Buy and Sell Stock II [medium]
- 【LeetCode】646.Maximum Length of Pair Chain(Medium)解题报告
- 【LeetCode】102.Binary Tree Level Order Traversal(Medium)解题报告
- 【LeetCode】275.H-Index II(Medium)解题报告
- 【LeetCode】75.Sort Colors(Medium)解题报告
- 【LeetCode】156.Binary Tree Upside Down(Medium)(加锁题)解题报告
- 【LeetCode】245.Shortest Word Distance III(Medium)(加锁题)解题报告
- 【LeetCode】382.Linked List Random Node(medium)解题报告
- LeetCode解题报告 279. Perfect Squares [medium]
- 【LeetCode】152.Maximum Product Subarray(Medium)解题报告
- 【LeetCode】103. Binary Tree Zigzag Level Order Traversal(Medium)解题报告
- 【LeetCode】57.Insert Interval(Medium)解题报告
- 【LeetCode】334.Increasing Triplet Subsequence(Medium)解题报告
- 【LeetCode】199.Binary Tree Right Side View(Medium)解题报告
- 【LeetCode】77.Combinations(Medium)解题报告
- 【LeetCode】47.Permutations II(Medium)解题报告
- 【LeetCode】337.House Robber III(Medium)解题报告
- LeetCode解题报告 343. Integer Break [medium]
- LeetCode解题报告 445. Add Two Numbers II [medium]
- 【LeetCode】244.Shortest Word Distance II(Medium)解题报告