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;
    }
}
相关推荐
wzdark14 小时前
基于堆的优先队列实现原理与复杂度分析4
算法
老王熬夜敲代码17 小时前
BLAKE3:最快的密码学哈希函数
算法·密码学·哈希算法
hansang_IR17 小时前
【题解】P4460 [CQOI2018] 解锁屏幕
c++·算法
见闻小天地17 小时前
简博斯JG-C系列彩色激光同轴位移计:摄像头模组对位与行程测量的技术价值观察
人工智能·算法
葫三生18 小时前
《论三生原理》神话学构想与“神话历史”理论、《古史中的神话》思路异同?
大数据·人工智能·科技·深度学习·算法
liliangcsdn18 小时前
因子分析指标概念与示例
算法·机器学习
SupL!19 小时前
LoftQ原理
算法
Navigator_Z21 小时前
LeetCode //C - 1240. Tiling a Rectangle with the Fewest Squares
c语言·算法·leetcode
稻米哟21 小时前
力扣100——双指针
算法·leetcode
明志数科1 天前
具身智能真机采集工程实践:5类高频失效模式与规避清单
人工智能·算法·机器学习