Leetcode 汇总区间

这道题的意思就是12345这样连续的子段就用1->5表示,如果中间断开了比如123567这样就表示为1->3,5->7, 单个数字构不成区间用1个字符表示。

Java solution

java 复制代码
class Solution {
    public List<String> summaryRanges(int[] nums) {
        List<String> result = new ArrayList<>();
        if(nums == null || nums.length == 0) return result;

        int start = nums[0]; // start 是区间第一个元素值
        //从第二个元素开始遍历
        for(int i = 1; i <= nums.length; ++i) {
            if(i == nums.length || nums[i] != nums[i - 1] + 1) {//到达整个数组结束位置或找到一个区间结束位置
                //然后判断这个区间是否只有1个元素
                if(start == nums[i - 1]) {
                    result.add(String.valueOf(start));
                }else {
                    result.add(start + "->" + nums[i - 1]);
                }
                //更新区间起始元素值
                if(i < nums.length) {
                    start = nums[i];
                }
            }
        }
        return result;
    }
}
相关推荐
先吃饱再说1 小时前
为什么堆能 O(log n) 插入?拆解完全二叉树的数组魔法
算法·排序算法
留白_1 小时前
【决策树】泰坦尼克号生存预测
算法·决策树·机器学习
hqzing2 小时前
鸿蒙 PC 底层开发技术详解(七):二进制自签名算法的实现
算法·华为·harmonyos
AI科技星2 小时前
超复数全域经济周期场与信息谱场——金融与密码学底层理论重构《0·1·∞三元一体全域超复数统一场论》系列全集(六一字不漏完整合订终版)
人工智能·算法·金融·密码学·拓扑学·乖乖数学·全域数学
AI科技星2 小时前
《01无穷全域信息场论:算子G与宇宙本体高维完备公理大典》
人工智能·python·算法·金融·乖乖数学·全域数学
Tim_102 小时前
【C++】013、空类占多少字节?
算法
Ricky_Theseus2 小时前
并查集:连通性问题
算法
qzhqbb3 小时前
字节面试分享复盘
面试·职场和发展
Tairitsu_H3 小时前
[LC优选算法#18] 前缀和 | 除⾃⾝以外数组的乘积 | 和为K的⼦数组 | 和可被K整除的⼦数组
算法·前缀和·哈希算法
凯瑟琳.奥古斯特3 小时前
力扣1008:前序重建BST
开发语言·c++·算法·leetcode·职场和发展