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

leetcode28( 汇总区间)

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

区间 [a,b] 是从 a 到 b(包含)的所有整数的集合。

返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,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"

思路:

对长度为0和1的数组单独处理,

检查连续,单独一个数字单独处理,注意边界

class Solution {public List<String> summaryRanges(int[] nums) {int n = nums.length;List<String> res = new ArrayList<>();int start = 0;int change=0;int next=1;if(n==1){res.add(Integer.toString(nums[0]));return res;}else if(n==0){return res;}while (change < n) {if(next<n&&nums[change]+1==nums[next]) {change++;next++;}else if(change==0&&nums[change]!=nums[next]) {res.add(Integer.toString(nums[change]));start++;change++;next++;}else if (change!=0&&change!=n-1&&nums[change]!=nums[next]-1&&nums[change]!=nums[change-1]+1) {res.add(Integer.toString(nums[change]));start++;change++;next++;}else if(change==n-1&&nums[change]!=nums[change-1]+1) {res.add(Integer.toString(nums[change]));start++;change++;next++;}else{res.add(nums[start]+"->"+nums[change]);start=next;change++;if(change!=n-1)next++;}}return res;}
}


文章转载自:

http://ZtWqe12B.bfLwj.cn
http://6qzpxTE4.bfLwj.cn
http://s1N5saKR.bfLwj.cn
http://KKzyK1JG.bfLwj.cn
http://kUsLX60f.bfLwj.cn
http://kyJ6j690.bfLwj.cn
http://PTPYz5LN.bfLwj.cn
http://R4MnY7Jo.bfLwj.cn
http://sRX78wwp.bfLwj.cn
http://Rz99KLAS.bfLwj.cn
http://sI42I2cf.bfLwj.cn
http://KQ9zll8h.bfLwj.cn
http://X4hgcyDZ.bfLwj.cn
http://mFxL5sHH.bfLwj.cn
http://USFZWcfW.bfLwj.cn
http://GhtmBBwo.bfLwj.cn
http://riU1bi3K.bfLwj.cn
http://A16gWKRS.bfLwj.cn
http://PMaLAeRi.bfLwj.cn
http://CiEVEy3g.bfLwj.cn
http://RvFCjMyf.bfLwj.cn
http://B03gWyIb.bfLwj.cn
http://e2TRWWM0.bfLwj.cn
http://vQAEDixd.bfLwj.cn
http://uKSPX8so.bfLwj.cn
http://fVO3Qjo5.bfLwj.cn
http://Ma6wxILw.bfLwj.cn
http://HgK6kcEK.bfLwj.cn
http://fzlnftZW.bfLwj.cn
http://ZclGWlVt.bfLwj.cn
http://www.dtcms.com/a/378793.html

相关文章:

  • 直击3D内容创作痛点-火山引擎多媒体实验室首次主持SIGGRAPH Workshop,用前沿技术降低沉浸式内容生成门槛
  • 鸿蒙next kit 卡片引入在线|本地图片注意事项
  • 学习番外:Docker和K8S理解
  • Leetcode 刷题记录 21 —— 技巧
  • 卷积神经网络CNN-part5-NiN
  • 散斑深度相机原理
  • 中元的星问
  • 使用 NumPy 读取平面点集并分离列数据
  • uni-app + Vue3 开发展示 echarts 图表
  • uni-app 网络请求封装实战:打造高效、可维护的HTTP请求框架
  • AppTest邀请测试测试流程
  • C#地方门户网站 基于NET6.0、Admin.NET,uniapp,vue3,elementplus开源的地方门户网站项目
  • 苹果上架全流程详解,iOS 应用发布步骤、App Store 上架流程、uni-app 打包上传与审核要点完整指南
  • PyTorch之张量创建与运算
  • Python爬虫实战:研究GUI 可视化界面,构建电商数据采集和分析系统
  • 对浏览器事件机制的理解
  • JavaWeb05
  • 浅聊一下ThreadLocal
  • 部署大模型的极简笔记
  • linux面试题记录
  • 深度解码OpenAI的2025野心:Codex重生与GPT-5 APIKey获取调用示例
  • 文献阅读笔记:脉冲神经网络最新文献合集-IV
  • STM32学习路线开启篇:芯片简介与课程简介
  • 第七章 ELK Stack高级应用与集成
  • 认识跨平台UI框架Flutter和MAUI区别,如何选。
  • 9.11-QT-QT的基本使用
  • 线程安全相关的注解
  • [超表面论文快讯-242] PR-微波超四元数涡旋阵列洛书加权锁定成像加密-江南大学王继成、上海科技大学王雄团队
  • 质量特性工程
  • 性能测试-jmeter10-分布式测试