
思路: 和163基本一模一样,很简单,直接上代码:
class Solution {
public List<String> summaryRanges(int[] nums) {
List<String> list = new ArrayList<>();
if(nums.length == 0) return list;
if(nums.length == 1){
list.add(helper(nums[0],nums[0]));
}
int len = nums.length;
int start = nums[0];
int end = nums[0];
for(int i = 1; i < len; i++){
int m = nums[i];
int n = nums[i - 1];
if(m == n + 1){
end = m;
if(i == len - 1) list.add(helper(start,end));
}else{
list.add(helper(start,end));
start = m;
end = m;
if(i == len - 1){
list.add(helper(start,end));
}
}
}
return list;
}
private String helper(int start, int end){
StringBuilder sb = new StringBuilder();
if(start == end){
sb.append(start);
}else{
sb.append(start);
sb.append("->");
sb.append(end);
}
return sb.toString();
}
}
总结: 无
本文深入讲解了一种用于数组中连续整数区间汇总的算法实现,通过一个简洁的Java代码示例,展示了如何将一系列整数转换为它们所构成的连续区间的紧凑表示,特别适用于大数据集的高效处理。

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



