当前位置:网站首页>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;
}
};
边栏推荐
猜你喜欢
随机推荐
新库上线 | CnOpenDataA股上市公司董监高信息数据
一些面试的总结
能添加任意贴图超级复布局的初级智能文本提示器(超级版)
会话技术!
QWidget、QPushButton、
Topic Modeling of Short Texts: A Pseudo-Document View
为什么要使用 playwright 做浏览器自动化测试?
Shell脚本乘法口诀等小实验
容联云发送验证码
46LVS+Keepalived群集
pytest:如何调用 pytest
370万欧元!西班牙iPronics加速可重构光子芯片商用
力扣第二周错题集
任意版本JLink驱动官方下载指引
win下使用vscode+wsl2
Guidelines for the use of SVA in UVM
radio button、qss文件环境配置
flask-socketio实现websocket通信
怎么从零编写一个 v3 版本的 chrome 浏览器插件实现 CSDN 博客网站的暗黑和明亮主题切换?
ssh(sshd)安全配置









