228. 汇总区间
题目的大概意思,有点像是要求你把数组压缩一下。
package summary_ranges;
import java.util.ArrayList;
import java.util.List;
public class Solution {
public List<String> summaryRanges(int[] nums) {
List<String> summary = new ArrayList<>();
for (int i = 0, j = 0; j < nums.length; ++j) {
// check if j + 1 extends the range [nums[i], nums[j]]
if (j + 1 < nums.length && nums[j + 1] == nums[j] + 1) {
continue;
}
// put the range [nums[i], nums[j]] into the list
if (i == j) {
summary.add(nums[i] + "");
}else {
summary.add(nums[i] + "->" + nums[j]);
}
i = j + 1;
}
return summary;
}
public static void main(String[] args) {
System.out.println(new Solution().summaryRanges(new int[] { 0, 1, 2, 4, 5, 7 }));
}
}