lxw124 / -Test

算法
1 stars 0 forks source link

leetcode228-汇总区间 #43

Open lxw124 opened 4 years ago

lxw124 commented 4 years ago

给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。

示例 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 可组成一个连续的区间。

lxw124 commented 4 years ago

var summaryRanges = function(nums) {
    let start = 0
  let end = 0
  let ans = []
  nums.push(Infinity) 
  for(let i=0;i<nums.length-1;i++){
    //扩大区间
    end = i
    if(nums[i]+1!=nums[i+1]){
      // 这里需要断开一个区间
      if(start===end){
        //相等,那就只保存这个数
        ans.push(nums[end]+'')
      }else{
        ans.push(nums[start]+'->'+nums[end])
      }
      //重置新区间,新区间要从下一个开始
      start = i+1
    }
  }
  return ans

};