汇总区间(Java)

大家好我是苏麟 , 这篇文章也是凑数的 ...

描述 :

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

返回 恰好覆盖数组中所有数字最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x

题目 :

LeetCode 228.汇总区间 :

228. 汇总区间

分析 :

这个题使用双指针也可以非常方便的处理,慢指针指向每个区间的起始位置,快指针从慢指针位置开始向后遍历直到不满足连续递增(或快指针达到数组边界),则当前区间结束;然后将 slow指向更新为 fast + 1,作为下一个区间的开始位置fast继续向后遍历找下一个区间的结束位置,如此循环,直到输入数组遍历完毕 .

解析 :

java 复制代码
// LeetCode
class Solution {
    public List<String> summaryRanges(int[] nums) {
        ArrayList<String> al = new ArrayList<>();

        int slow = 0;

        for(int fast = 0;fast < nums.length ; fast++){
            if(fast + 1 == nums.length || nums[fast] + 1 != nums[fast + 1]){
                StringBuffer s = new StringBuffer();
                s.append(nums[slow]);
                if(slow != fast){
                    s.append("->").append(nums[fast]);
                }
                al.add(s.toString());   
                slow = fast + 1;
            }
        }
        return al;
    }
}

本篇文章会收到算法通关第三关白银挑战 .

相关推荐
xu_yule1 分钟前
数据结构(9)队列的概念和实现
数据结构
上不如老下不如小3 分钟前
2025年第七届全国高校计算机能力挑战赛 决赛 Java组 编程题汇总
java·python·算法
路长冬5 分钟前
数据结构:双向链表
数据结构·链表
奔跑吧邓邓子6 分钟前
链表:数据结构的灵活纽带
数据结构·链表·实战
兩尛7 分钟前
查找接口成功率最优时间段 (c卷)
c语言·开发语言·算法
再__努力1点8 分钟前
【59】3D尺度不变特征变换(SIFT3D):医学影像关键点检测的核心算法与实现
人工智能·python·算法·计算机视觉·3d
小白量化10 分钟前
量化研究--上线完成强大的金融数据库3.0系统
数据库·人工智能·python·算法·金融·量化·qmt
roman_日积跬步-终至千里11 分钟前
【计算机算法与设计(8)】最小生成树算法(Kruskal 算法和 Prim 算法)
算法
e疗AI产品之路11 分钟前
心电QRS波形识别之Pan-Tompkins算法介绍
算法·pan-tompkins
一碗白开水一11 分钟前
【论文阅读】DALL-E 123系列论文概述
论文阅读·人工智能·pytorch·深度学习·算法