题目

给定一个 无重复元素 的 有序 整数数组 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
-2^31 <= nums[i] <= 2 ^31 - 1
nums 中的所有值都 互不相同
nums 按升序排列
来源:力扣(LeetCode)

解题思路

  这个题可以设置两个指针一前一后遍历整个数组,数组中一个区间的紧挨着的数字应当是相差1的,如果相差不为1则发生断层,这时就可以直接汇总为一个区间。另外需要注意一个细节,就是关于最后一个区间的汇总,这是由于while循环的机制所导致。

class Solution:def summaryRanges(self, nums: List[int]) -> List[str]:n=len(nums)  if n==0:  #处理特殊情况return []elif n<2:return [str(nums[0])]temp=[]i=0j=1while j<n:if nums[j]-nums[j-1]==1:j+=1else:if nums[i]==nums[j-1]:temp.append(str(nums[i]))else:temp.append(str(nums[i])+'->'+str(nums[j-1]))i=jj+=1if nums[i]==nums[j-1]:  #处理最后一个区间temp.append(str(nums[i]))else:temp.append(str(nums[i])+'->'+str(nums[j-1]))return temp

LeetCode简单题之汇总区间相关推荐

  1. LeetCode简单题之在区间范围内统计奇数数目

    题目 给你两个非负整数 low 和 high .请你返回 low 和 high 之间(包括二者)奇数的数目. 示例 1: 输入:low = 3, high = 7 输出:3 解释:3 到 7 之间奇数 ...

  2. LeetCode刷题笔记汇总

    LeetCode刷题笔记汇总 第一次刷LeetCode写的一些笔记. 1.两数之和 3.无重复字符的最长子串 15.三数之和 18.四数之和 19.删除链表的倒数第 N 个结点 20.有效的括号 21 ...

  3. leetcode热题HOT100汇总——java题解已完结撒花

    文章目录 前言 1. 两数之和 2. 两数相加 3.无重复字符的最长子串 4. 寻找两个正序数组的中位数 5. 最长回文子串 10. 正则表达式匹配 11. 盛最多水的容器 15. 三数之和 17. ...

  4. 【LeetCode刷题】重叠区间问题

    跟着甜姨整理了这一类问题,没有固定套路,但需要找规律以及细心. 重叠区间 252,会议室,easy 题解 实质是判断有没有重叠区间,将区间按照会议开始时间排序,然后遍历一遍即可. 代码 class S ...

  5. LeetCode简单题之基于排列构建数组

    题目 给你一个 从 0 开始的排列 nums(下标也从 0 开始).请你构建一个 同样长度 的数组 ans ,其中,对于每个 i(0 <= i < nums.length),都满足 ans ...

  6. LeetCode简单题之Excel 表中某个范围内的单元格

    题目 Excel 表中的一个单元格 (r, c) 会以字符串 "" 的形式进行表示,其中: 即单元格的列号 c .用英文字母表中的 字母 标识. 例如,第 1 列用 'A' 表示, ...

  7. LeetCode简单题之增量元素之间的最大差值

    题目 给你一个下标从 0 开始的整数数组 nums ,该数组的大小为 n ,请你计算 nums[j] - nums[i] 能求得的 最大差值 ,其中 0 <= i < j < n 且 ...

  8. LeetCode简单题之二进制矩阵中的特殊位置

    题目 给你一个大小为 rows x cols 的矩阵 mat,其中 mat[i][j] 是 0 或 1,请返回 矩阵 mat 中特殊位置的数目 . 特殊位置 定义:如果 mat[i][j] == 1 ...

  9. LeetCode简单题之设计 Goal 解析器

    题目 请你设计一个可以解释字符串 command 的 Goal 解析器 .command 由 "G"."()" 和/或 "(al)" 按某种 ...

最新文章

  1. The key of C# 学习笔记I-II
  2. CV01-语义分割笔记和两个模型VGG ResNet的笔记
  3. 300 Longest Increasing Subsequence
  4. Android之webView入门
  5. JavaScript --- 取得鼠标事件的坐标
  6. 做公益的飞秋(FeiQ)程序代码
  7. 1.几大开发模型区别与联系
  8. Windows8-ConsumerPreview 虚拟机安装与体验
  9. 今天的阿里云,不应该只是这张图
  10. cmd静默运行_exe、msi、dos、bat等静默运行,后台运行,不弹窗的解决办法
  11. android平台数字看板,数据看板
  12. 用记忆法记忆单词的M种方法 吴天胜
  13. Deployer-6-部署流-Flow
  14. flask-restful 和 blueprint
  15. 建立图书馆书目索引表
  16. 河北北方学院专接本计算机,接本院校介绍——河北北方学院
  17. 实现邮箱验证码发送代码(直接cv,3分钟解决)
  18. 买股票总是跌多涨少?买啥啥跌?试试“选股助手”吧
  19. 数字孪生应用白皮书_赛迪数字孪生白皮书(2019)
  20. 交通杀马特︱道路瘦身全纪录:用金钱和生命来衡量降速交通的好处

热门文章

  1. 人工智能3d建模算法_打破国外垄断,全国产3D芯片为机器人“点睛”
  2. 2022-2028年中国丁二烯橡胶行业市场规模研究及前瞻分析报告
  3. 使用vscode连接服务器写代码指南
  4. [转载]Tensorflow 的reduce_sum()函数的axis,keep_dim这些参数到底是什么意思?
  5. SpringSecurity安全验证中文乱码问题
  6. 关于TVM的点滴记录
  7. AI人工智能天机芯芯片
  8. 如何写新的C++ OP
  9. MindSpore基准性能
  10. 多核处理器集成了神经处理单元