【LeetCode:228. 汇总区间 | 区间】

|-----------|
| 🚀 算法题 🚀 |

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

|-----------|
| 🚀 算法题 🚀 |

🍔 目录

    • [🚩 题目链接](#🚩 题目链接)
    • [⛲ 题目描述](#⛲ 题目描述)
    • [🌟 求解思路&实现代码&运行结果](#🌟 求解思路&实现代码&运行结果)
      • [⚡ 区间](#⚡ 区间)
        • [🥦 求解思路](#🥦 求解思路)
        • [🥦 实现代码](#🥦 实现代码)
        • [🥦 运行结果](#🥦 运行结果)
    • [💬 共勉](#💬 共勉)

🚩 题目链接

⛲ 题目描述

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

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

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

"a->b" ,如果 a != b

"a" ,如果 a == b

示例 1:

输入:nums = 0,1,2,4,5,7

输出:"0-\>2","4-\>5","7"

解释:区间范围是:

0,2 --> "0->2"

4,5 --> "4->5"

7,7 --> "7"

示例 2:

输入:nums = 0,2,3,4,6,8,9

输出:"0","2-\>4","6","8-\>9"

解释:区间范围是:

0,0 --> "0"

2,4 --> "2->4"

6,6 --> "6"

8,9 --> "8->9"

提示:

0 <= nums.length <= 20

-231 <= numsi <= 231 - 1

nums 中的所有值都 互不相同

nums 按升序排列

🌟 求解思路&实现代码&运行结果


⚡ 区间

🥦 求解思路
  1. 题目需要我们去找到每个区间开始位置以及结束的位置,具体的判断逻辑是numscur + 1 == numscur+1。如果满足,就继续,如果不满足,就结束。然后,根据题目的要求,收集最终的答案并返回。
  2. 实现代码如下所示:
🥦 实现代码
java 复制代码
class Solution {
    public List<String> summaryRanges(int[] nums) {
        List<String> ans = new ArrayList<>();
        int n = nums.length;
        for (int i = 0; i < n; i++) {
            int start = i;
            while (start < n - 1 && nums[start] + 1 == nums[start + 1]) {
                start++;
            }
            if (start == i) {
                ans.add(String.valueOf(nums[i]));
            } else {
                ans.add(nums[i] + "->" + nums[start]);
            }
            i = start;
        }
        return ans;
    }
}
🥦 运行结果

💬 共勉

|----------------------------------|
| 最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉! |

相关推荐
钓鱼的肝3 小时前
csp-j-s总结(4)
c++·经验分享·笔记·算法
吠品3 小时前
纯HTML+ECharts构建交互式数据看板:实现思路与踩坑记录
java·服务器·数据库
橘子汽水1683 小时前
Leetcode 763,45 划分字母区间 跳跃游戏II
数据结构·算法·leetcode
盖伦发发3 小时前
Redis 核心教学: 数据结构, 缓存设计, 分布式锁
java·redis·后端·软件工程
卷毛的技术笔记3 小时前
RocketMQ事务消息:我把分布式事务这层窗户纸捅破了
java·分布式·后端·java-rocketmq
yxlalm4 小时前
零基础快速上手Trae创建Java项目
java·人工智能
ly76894 小时前
磁盘 I/O 延迟突增:用 iostat、blktrace 与火焰图定位到具体调用栈
java·linux·前端·数据库·iostat·磁盘 i/o·blktrace
泡海椒4 小时前
jquick-pdf 核心原理解析:基于 HTML 模板动态渲染 PDF 的实现逻辑
java·开发语言·pdf
天天喝旺仔4 小时前
Git 内部原理深度解析:从 blob/tree/commit 对象到 packfile 与垃圾回收
数据结构·数据库·git·算法·哈希
Bs_MoneyMagnet4 小时前
基于springboot+vue的图书馆预约系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·毕业设计·图书管理系统·计算机毕业设计