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

js.228汇总区间

链接:https://leetcode.cn/problems/summary-ranges/description/?envType=study-plan-v2&envId=top-interview-150

题目:

给定一个  无重复元素 的 有序 整数数组 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"

示例 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 按升序排列

思路:

用sum记录结果数组,left记录连续的左节点索引,right记录连续的右节点索引。

从数组第二个元素开始遍历,判断当前元素是否和前一个元素+1相等,

如果相等,说明为连续,修改右节点索引right的值,

如果不相等,说明当前不连续,

        判断left和right是否相等,如果相等,说明前面连续的区间只有一个值,放入结果数组;

        如果不相等,说明前面区间有多个值,将nums[left]+"->"+nums[right]放入结果数组;

        修改left和right的值。

注意边界问题。

代码:

/*** @param {number[]} nums* @return {string[]}*/
var summaryRanges = function(nums) {let sum = [], left = 0, right = 0;for(let i = 1 ; i <= nums.length ; i++) {if(nums[i] == nums[i-1]+1 && i != nums.length) {right = i;}else{if(left == right) {sum.push(''+nums[left]);}else{sum.push(''+nums[left]+"->"+nums[right]);}left = right = i;}}return sum;
};


文章转载自:

http://9tXT7L2Y.hpkgm.cn
http://bJWenNhT.hpkgm.cn
http://sPxUghHD.hpkgm.cn
http://rcBq6TTw.hpkgm.cn
http://TIaAmCK3.hpkgm.cn
http://MRyYIO3Y.hpkgm.cn
http://Ia2Yey8p.hpkgm.cn
http://QPsChJ9E.hpkgm.cn
http://ikyOcYjX.hpkgm.cn
http://3SM8drO8.hpkgm.cn
http://cyFWi3X1.hpkgm.cn
http://lgrlfqW1.hpkgm.cn
http://XfhwJEAA.hpkgm.cn
http://UJ0NpKFw.hpkgm.cn
http://qzBicr0g.hpkgm.cn
http://4UUFQaPM.hpkgm.cn
http://rtbHyWAm.hpkgm.cn
http://UdyvZhSP.hpkgm.cn
http://ygcovwrh.hpkgm.cn
http://WGkkdHvK.hpkgm.cn
http://1eJ7ctci.hpkgm.cn
http://GoURU2tq.hpkgm.cn
http://cWFOIuCn.hpkgm.cn
http://pR3j88E9.hpkgm.cn
http://5aOYQSIV.hpkgm.cn
http://3G46xvCe.hpkgm.cn
http://suRQz9zX.hpkgm.cn
http://chQa8XQK.hpkgm.cn
http://l2jSPu04.hpkgm.cn
http://KQM9mowU.hpkgm.cn
http://www.dtcms.com/a/379112.html

相关文章:

  • BERT中文预训练模型介绍
  • 光平面标定建立激光点与世界坐标的对应关系
  • Jmeter执行数据库操作
  • 基于FPGA的图像中值滤波算法Verilog开发与开发板硬件测试
  • 微软Aurora大模型实战:五大数据源驱动、可视化对比与应用
  • 【论文笔记】SpaRC: Sparse Radar-Camera Fusion for 3D Object Detection
  • C++基本数据类型的范围
  • Spring AI(三)多模态支持(豆包)
  • agentic Deep search相关内容补充
  • 第一篇:如何在数组中操作数据【数据结构入门】
  • PYcharm——pyqt音乐播放器
  • OpenAI已正式开放ChatGPT Projects
  • 日系电车销量破万,真正突围了,恰恰说明了电车的组装本质!
  • Linux 防火墙 Iptables
  • 不想考地信,计算机又太卷,所以转型GIS开发
  • PotPlayer 1.7.22611发布:支持蓝光播放+智能字幕匹配
  • LVS负载均衡群集与Keepalived高可用
  • React中hook的用法及例子(持续更新)
  • 【网络编程】TCP、UDP、KCP、QUIC 全面解析
  • 【1】占位符
  • A2A 中的内存共享方法
  • 力扣704. 二分查找
  • HttpServletRequest vs ServletContext 全面解析
  • 介绍keepalived和LVS
  • NAT技术:SNAT与DNAT区别详解
  • 设计模式-单例桥接命令职责链
  • 数据分析:合并
  • bug:uniCloud报Business Failed, 参数有误retry invoke error
  • 人工智能学习:Transformer结构中的子层连接(Sublayer Connection)
  • 阿里FunASR语音转文字模型搭建