Java | Leetcode Java题解之第228题汇总区间

题目:

题解:

java 复制代码
class Solution {
    public List<String> summaryRanges(int[] nums) {
        List<String> ans = new ArrayList<>();
        for (int i = 0, j, n = nums.length; i < n; i = j + 1) {
            j = i;
            while (j + 1 < n && nums[j + 1] == nums[j] + 1) {
                ++j;
            }
            ans.add(f(nums, i, j));
        }
        return ans;
    }

    private String f(int[] nums, int i, int j) {
        return i == j ? nums[i] + "" : String.format("%d->%d", nums[i], nums[j]);
    }
}
相关推荐
于烛9 小时前
为什么hasNext() 对只有一个元素的集合返回 true?90%初学者都有的疑问
java
想吃火锅10059 小时前
【leetcode】54. 螺旋矩阵
算法·leetcode·矩阵
wuminyu9 小时前
JVM利用io_uring优化堆外内存性能原理剖析
java·linux·c语言·jvm·c++
想吃火锅100510 小时前
【leetcode】300. 最长递增子序列
算法·leetcode·职场和发展
imaol110 小时前
数据结构---队列
java·数据结构·算法
半亩码田10 小时前
【.NET新特性·第11篇】C# 14 字段属性:告别手写 backing field
java·c#·.net
JAVA面经实录91710 小时前
集合框架 (六)
java·开发语言
骇客野人11 小时前
Linux 查看 Java 进程常用命令
java·linux·运维
周GZ11 小时前
简单讲解Java中静态方法与 实例方法
java·开发语言
疯狂打码的少年11 小时前
【数据结构】树的基本概念与二叉树定义
java·数据结构·笔记·算法