当前位置:网站首页>leetcode:163 缺失的区间
leetcode:163 缺失的区间
2022-08-03 02:04:00 【OceanStar的学习笔记】
题目来源
题目描述
给定一个排序的整数数组 nums ,其中元素的范围在 闭区间 [lower, upper] 当中,返回不包含在数组中的缺失区间。
示例:
输入: nums = [0, 1, 3, 50, 75], lower = 0 和 upper = 99,
输出: [“2”, “4->49”, “51->74”, “76->99”]
题目解析
- 数组已经排序,但是并不能二分,因为要求所有的缺失区间
- 因此一次遍历
class Solution {
// 生成"lower->upper"的字符串,如果lower==upper,只用生成"lower"
std::string miss(int lower, int upper){
std::string left = std::to_string(lower);
std::string right;
if(upper > lower){
right = "->" + std::to_string(upper);
}
return left + right;
}
public:
std::vector<std::string> missing_ranges(vector<int>& nums, int low, int high) {
std::vector<std::string> ans;
for (int curr : nums) {
if(curr > low){
ans.push_back(miss(low, curr - 1));
low = curr + 1;
}else if(curr == low){
low = curr + 1;
}
if(curr == high){
return ans;
}
}
if(low <= high){
ans.push_back(miss(low, high));
}
return ans;
}
};
边栏推荐
猜你喜欢
工作两年成跳槽高峰期,程序员会在一家公司待多久?
实现统一账号登录,sonarqube集成ldap
数据中台建设(八):数据服务体系建设
EasyGBS播放器优化:设备通道视频播放出现跳屏问题的修复
iNFTnews | 元宇宙的潜力:一股推动社会进步的力量
Violent recursion to dynamic programming 06 (the sword refers to Offer II 095. Longest common subsequence)
问题记录:jenkins构建时报错The goal you specified requires a project to execute but there is no POM in...
Incorrect datetime value: ‘2022-01-01‘ for function str_to_date
5.软件测试-----自动化测试
【UE4】Build VR live broadcast in LAN UE4.27
随机推荐
Brute force recursion to dynamic programming 07 (516. Longest palindrome subsequence)
无法启动服务 错误 193 0xc1
常用工具链和虚拟环境-TDMGCC
【7.31】代码源 - 【矩阵操作】【宝箱】【New Stone Game】【等差数列】
【静态类型和动态类型 编译检查和运行检查 Objective-C中】
软件定义网络实验之自定义拓扑开发
代码工具推荐
一篇文章玩明白Stack-migration
能添加任意贴图超级复布局的初级智能文本提示器
选中按钮上色
.NET in-depth analysis of the LINQ framework (four: IQueryable, IQueryProvider interface details)
Violent recursion to dynamic programming 06 (the sword refers to Offer II 095. Longest common subsequence)
一个循环,两个循环问题的思考及复现
复杂多层布局的初级智能文本提示器
Kubernetes:(八)调度约束和故障排查
46LVS+Keepalived群集
公司封装方式导出excel过程
initramfs详解-----初识initramfs
服务器在线测速系统源码
有趣简单的M2处理器性能实验:Swift与C代码执行速度的比较