class Solution {
public List<String> summaryRanges(int[] nums) {
List<String> list = new ArrayList<>();
int i = 0;
int n = nums.length;
while(i<n){
int low = i;
i++;
//while当不连续时,退出循环.
while(i<n&&nums[i]==nums[i-1]+1){
i++;
}
//此时high需要--
int high = i-1;
//先把low放进去,再根据情况判断连不连high部分
StringBuilder sb = new StringBuilder(Integer.toString(nums[low]));
if(low<high){
sb.append("->");
sb.append(Integer.toString(nums[high]));
}
list.add(sb.toString());
}
return list;
}
}
给定一个无重复元素的有序整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 n
最新推荐文章于 2026-03-21 01:00:00 发布
本文介绍了一种用于整数数组的有效区间汇总算法。该算法通过遍历输入数组并利用StringBuilder来拼接字符串,实现了对连续整数区间的高效表示。具体而言,算法会检查每个元素是否连续,并据此生成简洁的区间表示。

361

被折叠的 条评论
为什么被折叠?



