我的js算法爬坑之旅-汇总区间

109 阅读1分钟

第九十五天:力扣228题,汇总区间

地址:leetcode-cn.com/problems/su…

思路:双指针,用两个指针一个保存区间起点,一个保存终点即可

var summaryRanges = function(nums) {
  let start = 0
  let end = 0
  let ans = []
  for(let i=0;i < nums.length;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 = end = i+1
    }
  }
  return ans
};

执行用时:76 ms, 在所有 JavaScript 提交中击败了83.73%的用户

内存消耗:37.8 MB, 在所有 JavaScript 提交中击败了56.55%的用户