【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 \<= nums\[i\] \<= 231 - 1 nums 中的所有值都 互不相同 nums 按升序排列 ### 🌟 求解思路\&实现代码\&运行结果 *** ** * ** *** #### ⚡ 区间 ##### 🥦 求解思路 1. 题目需要我们去找到每个区间开始位置以及结束的位置,具体的判断逻辑是nums\[cur\] + 1 == nums\[cur+1\]。如果满足,就继续,如果不满足,就结束。然后,根据题目的要求,收集最终的答案并返回。 2. 实现代码如下所示: ##### 🥦 实现代码 ```java class Solution { public List summaryRanges(int[] nums) { List 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; } } ``` ##### 🥦 运行结果 ![在这里插入图片描述](https://file.jishuzhan.net/article/1743893359350517762/e2b68f61a5507c99b772b6653deda595.webp) *** ** * ** *** ### 💬 共勉 |----------------------------------| | 最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉! | ![在这里插入图片描述](https://file.jishuzhan.net/article/1743893359350517762/cfaf71b1be420112e9a5d889d4133616.webp) ![在这里插入图片描述](https://file.jishuzhan.net/article/1743893359350517762/1fef9f4e58e292caa82fee193fe2e5d1.webp)

相关推荐
Jerry&Grj12 小时前
SpringBoot埋点功能技术实现方案深度解析:架构设计、性能优化与扩展性实践
java·微服务·性能优化·springboot·架构设计·埋点技术
在未来等你12 小时前
Kafka面试精讲 Day 8:日志清理与数据保留策略
大数据·分布式·面试·kafka·消息队列
没有bug.的程序员12 小时前
Redis Stream:轻量级消息队列深度解析
java·数据库·chrome·redis·消息队列
沐怡旸12 小时前
【算法--链表】114.二叉树展开为链表--通俗讲解
算法·面试
用户81607918333312 小时前
告别“魔法”:包你解决 Gradle 的下载慢问题
java
一只懒洋洋13 小时前
K-meas 聚类、KNN算法、决策树、随机森林
算法·决策树·聚类
当归102413 小时前
SQL Server死锁排查实战指南
java·服务器·网络
白水清风13 小时前
关于Js和Ts中类(class)的知识
前端·javascript·面试
echoyu.13 小时前
消息队列-初识kafka
java·分布式·后端·spring cloud·中间件·架构·kafka
little_xianzhong13 小时前
关于对逾期提醒的定时任务~改进完善
java·数据库·spring boot·spring·mybatis