C++实现LeetCode(163.缺失区间)

这篇文章主要介绍了C++实现LeetCode(163.缺失区间),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

C++实现LeetCode(163.缺失区间),久久派带你了解更多相关信息。

[LeetCode] 163. Missing Ranges 缺失区间

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

Example:

Input: nums = [0, 1, 3, 50, 75], lower = 0 and upper = 99,
Output: [\”2\”, \”4->49\”, \”51->74\”, \”76->99\”]

这道题让我们求缺失区间,跟之前那道 Summary Ranges 很类似,给了一个空间的范围 [lower upper],缺失的区间的范围需要在给定的区间范围内。遍历 nums 数组,假如当前数字 num 大于 lower,说明此时已经有缺失区间,至少缺失一个 lower 数字,此时若 num-1 大于 lower,说明缺失的是一个区间 [lower, num-1],否则就只加入一个数字即可。由于 OJ 之后加入了许多 tricky 的 test cases,使得论坛上很多解法都 fail 了。其实很多是跪在了整型溢出,当数组中有整型最大值时,此时 lower 更新为 num+1 时就会溢出,所以在更新之前要先判断一下,若 num 已经是整型最大值了,直接返回结果 res 即可;否则才更新 lower 继续循环。for 循环退出后,此时可能还存在缺失区间,就是此时 lower 还小于等于 upper 时,可以会缺失 lower 这个数字,或者 [lower, upper] 区间,最后补上这个区间就可以通过啦,参见代码如下:

class Solution {public:    vector<string> findMissingRanges(vector<int>& nums, int lower, int upper) {        vector<string> res;        for (int num : nums) {            if (num > lower) res.push_back(to_string(lower) + (num - 1 > lower ? (\"->\" + to_string(num - 1)) : \"\"));            if (num == upper) return res;            lower = num + 1;        }        if (lower <= upper) res.push_back(to_string(lower) + (upper > lower ? (\"->\" + to_string(upper)) : \"\"));        return res;    }};

Github 同步地址:

https://github.com/grandyang/leetcode/issues/163

类似题目:

Summary Ranges

参考资料:

https://leetcode.com/problems/missing-ranges/

https://www.zzm8.com/d/file/p/20210731184253164565/20210731184253164566

到此这篇关于C++实现LeetCode(163.缺失区间)的文章就介绍到这了,更多相关C++实现缺失区间内容请搜索趣讯吧以前的文章或继续浏览下面的相关文章希望大家以后多多支持趣讯吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/8961.html

(0)
nan
上一篇 2021-07-31
下一篇 2021-07-31

相关推荐

  • 怎样开好两元店(开两元店新手怎么进货)

    大家别小看两元店,其实它的利润空间还是很大的,要说会有这么多的利润,那肯定就是在货源有渠道,那么大家知道两元店货源从哪里进货便宜吗?接下来,我们就来给大家讲解一下这方面的内容。两元店货源从哪里进货便宜?怎样开好两元店?这些小商品一般从网上的批发市场批

    2021-12-31
    0
  • 张庭3300万粉丝的抖音账号被暂封,原因“不符合社区规范”

    爱惜日1月2日消息,现有网友发现,一代微商女王的张庭的微博、抖音账号以及旗下微商品牌TST认证账号均被禁言。对此,TST工作人员回应称公司运营正常。1月2日,演员、TST庭秘密实控人张庭的抖音账号被禁止发布作品。违规处罚说明显示,原因为“不符合社区规

    2022-01-13
    0
  • 2021年11月21日是什么日子(2021年11月21日是什么节日)

    导读:2021年11月21日是什么日子?2021年11月21日是什么节日?每年11月21日是世界问候日和世界电视日,这两个世界节日给我们带来的是联系和欢乐,也让我们的生活增添了许多趣味性

    2021-08-27
    0
  • 【每日一习话】共同构建网络空间命运共同体

    习近平:网络空间是人类共同的活动空间,网络空间前途命运应由世界各国共同掌握。各国应该加强沟通、扩大共识、深化合作,共同构建网络空间命运共同体。这段话出自2015年12月16日习近平在第二届

    2021-10-07
    0
  • 民法典关于儿媳妇赡养老人的规定(儿子死后儿媳有赡养义务吗)

    法律问题分析:赡养人的配偶不是法定的赡养人。虽然法律规定赡养人的配偶应当协助赡养人履行赡养义务,但协助的义务不是赡养义务,且此规定只适用于夫妇关系存续期间。若赡养人同其配偶解除婚姻关系,或者赡养人死亡,那么,配偶一方协助赡养的义务就自动解除了。但法律

    2022-01-10
    0
  • 码上淘是什么(码上淘怎么使用)

    对着商场任何商品的条形码扫一扫,就能马上接入阿里系积累了11年的商品数据库,调用全网最大的商品百科,快速聚合型号、款式、价格、口碑等信息,并能在网上直接购买,一步实现“发现——查询——购买”的最短消费路径。今天下午,阿里巴巴集团发布“码上淘”开放战略

    2021-12-27
    0

发表回复

登录后才能评论