228-Summary-Ranges
Last updated
Was this helpful?
Last updated
Was this helpful?
给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。
测试用例:
示例 1: 输入: [0,1,2,4,5,7] 输出: ["0->2","4->5","7"] 解释: 0,1,2 可组成一个连续的区间; 4,5 可组成一个连续的区间。 示例 2: 输入: [0,2,3,4,6,8,9] 输出: ["0","2->4","6","8->9"] 解释: 2,3,4 可组成一个连续的区间; 8,9 可组成一个连续的区间。
这道题呢,不难。主要是想记录一下三指针的用法。三个指针分别为left、right、cur。cur用于遍历数组。right作为循环不变量,表示连续区间的右边界。
三指针的移动条件:
如果nums[cur]<=nums[right+1],表示当前元素与区间是连续的,扩大右边界。否则查看连续区间的长度是否为1,从而决定答案的形式。
对于边界整数加减法还是要注意一下的把。