2023-08-26 LeetCode每日一题(汇总区间)

news2024/11/16 17:47:38

2023-08-26每日一题

一、题目编号

228. 汇总区间

二、题目链接

点击跳转到题目位置

三、题目描述

给定一个 无重复元素有序 整数数组 nums 。

返回 恰好覆盖数组中所有数字最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。

列表中的每个区间范围 [a,b] 应该按如下格式输出:

  • “a->b” ,如果 a != b
  • “a” ,如果 a == b

示例 1:
在这里插入图片描述
示例 2:
在这里插入图片描述
提示:

  • 0 <= nums.length <= 20
  • -231 <= nums[i] <= 231 - 1
  • nums 中的所有值都 互不相同
  • nums 按升序排列

四、解题代码

class Solution {
public:
    vector<string> summaryRanges(vector<int>& nums) {
        vector<string> res;
        int n = nums.size();
        if(n == 0){
            return res;
        }
        if(n == 1){
            res.push_back(to_string(nums[0]));
            return res;
        }
        int left = nums[0];
        int right = nums[0];
        for(int i = 0; i < n; ++i){
            if(i == 0){
                continue;
            }
            if(nums[i] != nums[i-1] + 1){
                if(left == right){
                    res.push_back(to_string(left));
                } else{
                    res.push_back(to_string(left) + "->" + to_string(right));
                }
                left = nums[i];
                right = nums[i];
            } else{
                right = nums[i];
            }
        }
        if(left == right){
            res.push_back(to_string(left));
        } else{
            res.push_back(to_string(left) + "->" + to_string(right));
        }
    return res;
    }
};

五、解题思路

(1) 记录结果数组为res。有序整数数组的长度为n。

(2) n等于0的时候,输出空数组,n等于的时候,只有一个数。

(3) 记录区间left = nums[0],right = nums[0],这是初始化的过程。从i等于1开始遍历。

(4) 如果nums[i] 等于 nums[i-1] + 1,更新右端,如果不等于,则判断left和right是否相等。如果相等,区间为单一数字,如果不相等,则左端为left,右端为right,此时再次将left和right更新为nums[i] (当前遍历的位置)。

(5) 当一遍数组遍历完毕后还需要再判断一次left和right是否相等,按照(4)中所述的规则记录最后一个区间。

(6) 最后返回结果数组即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/930605.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

五、多表查询-4.外连接

一、语法 二、演示-左外连接 【例】查询emp1表的所有数据&#xff08;17条&#xff09;&#xff0c;和对应的部门信息&#xff08;左外连接&#xff09; 【 左外连接和内连接区别】 内连接只能查到16条数据&#xff0c;dept_id为null的值查不到 左外连接可以查到17条所有数据…

中文乱码处理

&#x1f600;前言 中文乱码处理 &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动力&#x1f609;&#x1f609; 在csdn获奖荣誉: &#x1f3c…

改进探索性数据分析的实用技巧!

Datawhale干货 译者&#xff1a;张峰&#xff0c;Datawhale成员 让 EDA 更简单&#xff08;更美观&#xff09;的实用指南&#xff01; 原文链接&#xff1a;https://towardsdatascience.com/practical-tips-for-improving-exploratory-data-analysis-1c43b3484577 介绍 探索性…

fastadmin iis伪静态应用入口文件index.php

<?xml version"1.0" encoding"UTF-8"?> <configuration><system.webServer><rewrite><rules><rule name"OrgPage" stopProcessing"true"><match url"^(.*)$" /><conditions…

骨传导耳机哪款比较好,几款骨传导耳机品牌推荐

相对于传统耳机&#xff0c;骨传导耳机的佩戴方式更加舒适。传统耳机需要插入耳道&#xff0c;可能会造成不适甚至痛感&#xff0c;而骨传导耳机则不需要直接接触耳朵&#xff0c;大大提高了佩戴的舒适度。并且骨传导耳机可以实现外界环境的感知。传统耳机会将耳朵与外界隔绝&a…

Java智慧工地源码:进度、质量、 成本、安全尽在掌握

智慧工地是一种崭新的工程全生命周期管理理念。智慧工地是智慧城市在建筑施工领域的延伸&#xff0c;是智慧城市的“基石”。随着工程信息化管理技术的发展&#xff0c;移动互联网、物联网、AI、大数据等新技术与施工现场业务场景深度融合&#xff0c;智慧工地已成为建筑工地信…

SpringCloud学习笔记(九)_使用Java类加载SpringBoot、SpringCloud配置文件

我们都知道平常在使用SpringBoot和SpringCloud的时候&#xff0c;如果需要加载一两个配置文件的话我们通常使用Value(“${属性名称}”)注解去加载。但是如果配置文件属性特别多的时候使用这种方式就显得特别的不友好了。 比如说&#xff0c;我们要加载下方这个名为application.…

nmon的安装与使用

一、Linux服务器配置信息 操作系统&#xff1a;CentOS 7.6 64位&#xff08;可用命令&#xff1a;cat /etc/redhat-release和uname -a查看&#xff09; CPU&#xff1a;1核&#xff08;可用命令top查看&#xff09; 内存&#xff1a;2GB&#xff08;可用命令free查看&#xff…

胖小酱之疯狂的魔术师

在外国&#xff0c;魔术&#xff0c;最早的记录出现在埃及&#xff0c;大约是在西元前2600年&#xff0c;也就是距今四千多年前。而作为具体节目表演&#xff0c;至少在两千多年前就已经出现&#xff0c;西汉元封三年&#xff0c;汉武帝举行百戏盛会&#xff0c;盛会上即有中国…

win11下MySQL8详细安装教程

文章目录 新建配置文件 my.ini初始化数据库安装服务启动服务 新建配置文件 my.ini 初始化数据库 mysqld --initialize --console记下初始密码 安装服务 mysqld --install启动服务 net start mysql修改密码请看另外文章 windows修改MySQL密码

京东自动抢茅台脚本

目前&#xff0c;在多家电商平台都可以抢购茅台酒&#xff0c;包括天猫超市、京东、天猫会员店、国美、苏宁、网易严选等渠道&#xff0c;消费者使用一台手机便可参与抢购&#xff0c;不过&#xff0c;很多消费者依旧不清楚用手机抢茅台怎么抢&#xff0c;因为抢购的人实在太多…

算法通关村十三关 | 数组字符串加法专题

1. 数组实现整数加法 题目&#xff1a;LeetCode66&#xff0c;66. 加一 - 力扣&#xff08;LeetCode&#xff09; 思路 我们只需要从头到尾依次运算&#xff0c;用常量标记是否进位&#xff0c;需要考虑的特殊情况是digits [9,9,9]的时候进位&#xff0c;我们组要创建长度加1…

JCTools Mpsc源码详解(二) MpscArrayQueue

MpscArrayQueue是一个固定大小的环形数组队列,继承自ConcurrentCircularArrayQueue MpscArrayQueue的特点: 环形队列底层数据结构为数组有界 看一下MpscArrayQueue的属性(填充类除外)--- //生产者索引 private volatile long producerIndex; //生产者边界 private volatile…

NSSCTF——Web题目1

目录 一、[LitCTF 2023]PHP是世界上最好的语言&#xff01;&#xff01; 二、[LitCTF 2023]Ping 三、[SWPUCTF 2021 新生赛]easyupload1.0 四、[SWPUCTF 2021 新生赛]easyupload2.0 五、[SWPUCTF 2021 新生赛]caidao 一、[LitCTF 2023]PHP是世界上最好的语言&#xff01;&a…

QA3

1. file_name.split(.)[0] 这是什么意思&#xff1f; 这行代码是将文件名按照点&#xff08;.&#xff09;进行分割&#xff0c;并返回分割后的列表中的第一个元素。在许多编程语言中&#xff0c;点通常用作文件名和扩展名之间的分隔符。通过使用split(.)函数&#xff0c;我们…

什么是 API ?

一、API 的定义&#xff1a;数据共享模式定义 4 大种类 作为互联网从业人员&#xff0c;API 这个词我耳朵都听起茧子了&#xff0c;那么 API 究竟是什么呢&#xff1f; API 即应用程序接口&#xff08;API&#xff1a;Application Program Interface&#xff09;&#xff0c;…

AI 绘画Stable Diffusion 研究(十六)SD Hypernetwork详解

大家好&#xff0c;我是风雨无阻。 本期内容&#xff1a; 什么是 Hypernetwork&#xff1f;Hypernetwork 与其他模型的区别&#xff1f;Hypernetwork 原理Hypernetwork 如何下载安装&#xff1f;Hypernetwork 如何使用&#xff1f; 在上一篇文章中&#xff0c;我们详细介绍了 …

如何开发小程序 3 个月赚 6.18 元

前言 随着 Ai 的崛起&#xff0c;开发者的就业也越来越困难&#xff0c;好像疫情放开后整个世界都变了&#xff0c;全球都在经历经济下行的压力。那么作为个人开发者如何在工作之余获取额外收入呢&#xff1f;笔者也是个一般开发者&#xff0c;没有牛逼的技术实力&#xff0c;…

rust交叉编译 在mac下编译linux和windows

系统版本macbook proVentura 13.5linux ubuntu22.04.3 LTS/18.04.6 LTSwindowswindows 10 专业版 20H2mac下rustc --versionrustc 1.74.0-nightly (58eefc33a 2023-08-24)查看当前系统支持的交叉编译指定系统版本列表 rustup target list如果已经安装这里会显示(installed)。…

Zuul:路由网关

话不多说上实战 先建一个子模块 pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://m…