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]);
    }
}
相关推荐
这不小天嘛5 小时前
JAVA八股——J集合篇
java·开发语言
什巳8 小时前
JAVA练习278- 和为 K 的子数组
java·学习·算法·leetcode
豆瓣鸡8 小时前
RocketMQ学习-Spring Boot消息实践
java·spring boot·rocketmq
wuqingshun3141599 小时前
说一下mysql的覆盖索引
java
罗超驿9 小时前
2.算法效率的核心密码:时间复杂度和空间复杂度详解
java·数据结构·算法
栈溢出了10 小时前
Redis 分片集群与哈希槽笔记
java·redis·笔记·spring
遨游DATA10 小时前
Spring Boot 启动失败排查:如何区分多 Bean 冲突与清理阶段异常
java·spring boot·后端
鱼儿也有烦恼11 小时前
快速学完 LeetCode top 1~50
leetcode·algorithm
wabs66611 小时前
关于单调栈【力扣739.每日温度的思考】
java·开发语言
雪碧聊技术11 小时前
为什么要学函数式编程?
java·函数式编程