LeetCode 163 Missing Ranges

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"].

这题的follow up个人感觉会非常复杂。。。如果需要考虑给出的[lower, upper]区间否是完全包含sorted array。。。

不过这里说了ranges是[lower, upper] inclusive,所以只考虑sorted array完全在该范围内的情况,因此需要重点考虑的是lower和upper两头的case。

自己写了一下代码比较繁琐。。。

代码:

public class Solution {
    public List<String> findMissingRanges(int[] nums, int lower, int upper) {
        int n = nums.length;
        int st = lower, i = 0;
        List<String> ranges = new ArrayList<>();
        if (n == 0) {
            String str = "";
            if (lower == upper)
                str = "" + lower;
            else 
                str = lower + "->" + upper;
            ranges.add(str);
            return ranges;
        }
        
        while (i < n) {
            if (st < nums[i]) {
                String str = "";
                if (st == nums[i]-1)
                    str = "" + st;
                else 
                    str = st + "->" + (nums[i]-1);
                ranges.add(str);
            }
            st = nums[i]+1;
            i++;
        }
        if (st <= upper) {
            String str = "";
            if (st == upper)
                str = "" + st;
            else 
                str = st + "->" + (upper);
            ranges.add(str);
        }
        
        return ranges;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,364评论 0 33
  • Given a sorted integer array where the range of elements ...
    ShutLove阅读 3,994评论 0 0
  • LeetCode 刷题随手记 - 第一部分 前 256 题(非会员),仅算法题,的吐槽 https://leetc...
    蕾娜漢默阅读 18,287评论 2 36
  • Given a sorted integer array where the range of elements ...
    Jeanz阅读 1,747评论 0 0
  • 带着孩子常去爬山,这座山是一位有恩有大爱之人开建的,不是政府投资的。 在山脚有牌子,由于同顶上还在修建多条小路,牌...
    祝福您好阅读 1,094评论 0 0

友情链接更多精彩内容