当前位置:网站首页>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;
}
};
边栏推荐
猜你喜欢
随机推荐
[QNX Hypervisor 2.2用户手册]10 虚拟设备参考
JVM内部结构图及各模块运行机制总结
【静态类型和动态类型 编译检查和运行检查 Objective-C中】
软件定义网络实验之SDN网络简单管理及开发
能添加任意贴图超级复布局的初级智能文本提示器
服务器在线测速系统源码
PHICOMM(斐讯)N1盒子 - Armbian5.77(Debian 9)基本配置
Topic Modeling of Short Texts: A Pseudo-Document View
”QSqlDatabasePrivate::removeDatabase: connection ‘test-connect‘ is still in use“数据库多次打开报错
【云原生】灰度发布、蓝绿发布、滚动发布、灰度发布解释
不想当Window的Dialog不是一个好Modal,弹窗翻身记...
公司代码学习笔记
易购数码类电商商城网页设计与实现项目源码
如何让优炫数据库开机自启
QT添加资源文件、样式表、qss文件使用
Incorrect datetime value: ‘2022-01-01‘ for function str_to_date
征集 |《新程序员》专访“Apache之父”Brian Behlendorf,你最想问什么?
开发JSP应用的基础知识
二叉树的前序遍历、中序遍历、后序遍历和层序遍历
[Example构造方法增加notNull参数,默认false,允许值为null,值为null的时候不加入到条件中









