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

算法-汇总区间(228)

这题可以用区间来做,区间是什么,在编程问题中,区间常用于表示连续的数字集合,比如这道题【0,2】就表示0,1,2这样的数字集合。

所以这道题首先定义一个字符数组用来存输出结果,然后定义一个变量,用来存储起始位置,如果找不到和它连续的数,则将这个单个字符存入字符数组,否则继续遍历,直到没有相邻数字,代码如下。

class Solution {
    public List<String> summaryRanges(int[] nums) {
          // 返回恰好覆盖数组中所有数字的最小有序区间范围列表。 nums中每个元素恰好被区间覆盖,并且不存在某个范围但不属于nums的数字x
        List<String>ranges=new ArrayList<>();
        if(nums.length==0||nums==null){
            return  ranges;
        }
        int start=nums[0];//当前区间的起点
        for(int i=1;i<=nums.length;i++){
            // 检查当前数字是否不连续
            if(i==nums.length||nums[i]!=nums[i-1]+1){
                //当前区间结束
                if(start==nums[i-1]){
                    ranges.add(String.valueOf(start));
                }
                else{
                    ranges.add(start+"->"+nums[i-1]);
                }
                // 更新下一个起始点
                if(i<nums.length){
                    start=nums[i];
                }
            }
        }
        
        
        return ranges;
    }
}


http://www.kler.cn/a/287036.html

相关文章:

  • springboot基于安卓的智启教育服务平台app
  • Java-数据结构-二叉树习题(2)
  • 【JavaSE】(8) String 类
  • vue3使用音频audio标签
  • TOSUN同星TsMaster使用入门——3、使用系统变量及c小程序结合panel面板发送报文
  • 生产环境中常用的设计模式
  • FFmpeg源码:append_packet_chunked、av_get_packet函数分析
  • Android自定义View实现彩虹进度条(带动画)
  • 完美解决Jenkins重启后自动杀掉衍生进程(子进程)问题
  • ​哈哈题库​邀请书
  • [Day 68] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • 如何在 CentOS 6 上安装 Nagios
  • 噪音消除模块调研
  • selenium(一)基于java、元素定位
  • 697.数组的度
  • 超级会员卡积分收银系统源码,一站式解决方案,可以收银的小程序 带完整的安装代码包以及搭建部署教程
  • 探讨Facebook开户广告起充多少:全球标准与优势解析
  • 0基础学习Python路径(41)paramiko模块
  • 性能优化:提升TMS运行效率的策略
  • 【HuggingFace Transformers】LlamaModel源码解析
  • AI写的不用游标派发明细数量例子
  • Kettle发送邮件功能如何配置以实现自动化?
  • 七. 部署YOLOv8检测器-load-save-tensor
  • C#——类与结构
  • 后端输出二进制数据,前端fetch接受二进制数据,并转化为字符输出
  • Etl加工建模方式分类使用