当前位置: 首页 > article >正文

【C++刷题】力扣-#163-缺失的区间

题目描述

给定一个整数数组 nums 和两个整数 lower 和 upper,找出数组中在范围 [lower, upper] 内缺失的所有整数,包括边界。

示例

示例 1:

输入: nums = [0,1,3,50,75], lower = 0, upper = 99
输出: ["2","4","5","6","7","8","9","10",…,"49","51","52",…,"74","76",…,"99"]
解释: 范围 [0,99] 内缺失的整数是 [2,3,4,5,6,7,8,9,10,…,49,51,52,…,74,76,…,99]

示例 2:

输入: nums = [0,1,2,3,4], lower = 0, upper = 4
输出: []
解释: 数组中没有缺失的数字。

示例 3:

输入: nums = [0,1,3,50,75], lower = 0, upper = 0
输出: []
解释: lower 等于 upper 时,没有缺失数字。

题解

这个问题可以通过遍历给定的范围并检查每个数字是否存在于数组中来解决。

  1. 初始化:创建一个空列表 result 来存储缺失的数字。
  2. 遍历范围:从 lower 到 upper 遍历,检查每个数字是否存在于数组 nums 中。
    ○ 对于每个数字 i,在数组 nums 中查找是否存在。
    ○ 如果不存在,则将 i 添加到 result 列表中。
  3. 返回结果:返回 result 列表。

代码实现

vector<string> findMissingRanges(vector<int>& nums, int lower, int upper) {
    vector<string> result;
    for (int i = lower; i <= upper; ++i) {
        if ((i == lower || find(nums.begin(), nums.end(), i - 1) == nums.end()) && find(nums.begin(), nums.end(), i) == nums.end()) {
                result.push_back(to_string(i));
        }
    }
    return result;
}

复杂度分析

● 时间复杂度:O(n * (upper - lower + 1)),其中 n 是数组 nums 的长度。对于范围内的每个数字,我们可能需要遍历整个数组来查找它是否存在。
● 空间复杂度:O((upper - lower + 1)),因为我们需要存储缺失的数字。
这个算法的优势在于它直接模拟了查找缺失数字的过程。


http://www.kler.cn/news/353180.html

相关文章:

  • Java安全编程:公钥加密和私钥签名的实践指南
  • 【信息论基础第六讲】离散无记忆信源等长编码包括典型序列和等长信源编码定理
  • Android——FileProvider
  • 【ROS2】Qt和ROS混合编程:多继承QObject和rclcpp::Node
  • mysql学习教程,从入门到精通,sql序列使用(45)
  • 使用SpringBoot自定义注解+AOP+redisson锁来实现防接口幂等性重复提交
  • 拟声 0.37.0 | 拟物风格,超级优美,功能丰富
  • 机器学习——解释性AI
  • java脚手架系列4--测试用例、拦截器
  • AI 驱动的测试用例生成:实现全量覆盖
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——13.mapset(无习题)
  • 基于web的酒店客房管理系统【附源码】
  • 单元测试不加载主方法中application.yml配置文件的问题
  • 全星魅|多模卫星定位终端|智能手持终端|北斗定位手持机
  • 解决UNSPSC商品分类的层级不足的方法
  • 探索高效的 PDF 拆分工具及其独特功能
  • SpringBoot 整合 RabbitMQ 的使用
  • Ping32软件介绍,全面保护您的数据安全
  • 更新项目vue版本--入门篇
  • 2.5 Spring Boot整合Spring MVC框架
  • 英语写作中“认为是……”consider/view/regard/deem的用法
  • 使用Hugging Face中的BERT进行标题分类
  • 【NLP】GloVe模型
  • c_cpp_properties.json文件的作用
  • Linux:linux系统中目录的遍历
  • Dockerfile构建Docker镜像