利用网站做淘宝客,页面模板的图文封面,wordpress壁纸模板,加快百度收录的方法题目#xff1a;
给定一个 无重复元素 的 有序 整数数组 nums 。
返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说#xff0c;nums 的每个元素都恰好被某个区间范围所覆盖#xff0c;并且不存在属于某个范围但不属于 nums 的数字 x 。
列表中的每个区…题目
给定一个 无重复元素 的 有序 整数数组 nums 。
返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说nums 的每个元素都恰好被某个区间范围所覆盖并且不存在属于某个范围但不属于 nums 的数字 x 。
列表中的每个区间范围 [a,b] 应该按如下格式输出
a-b 如果 a ! ba 如果 a b
思路
代码
class Solution {public ListString summaryRanges(int[] nums) {ListString res new ArrayList();// i 初始指向第 1 个区间的起始位置int i 0;for (int j 0; j nums.length; j) {// j 向后遍历直到不满足连续递增(即 nums[j] 1 ! nums[j 1])// 或者 j 达到数组边界则当前连续递增区间 [i, j] 遍历完毕将其写入结果列表。if (j 1 nums.length || nums[j] 1 ! nums[j 1]) {StringBuilder sb new StringBuilder();sb.append(nums[i]);if (i ! j) {sb.append(-).append(nums[j]);}res.add(sb.toString());// 将 i 指向更新为 j 1作为下一个区间的起始位置i j 1;}}return res;}
}
性能时间复杂度On 空间复杂度O1