Leetcode 228. Summary Ranges

02/04 08:10
阅读数 46

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

1. Description

Summary Ranges

2. Solution

  • Version 1
class Solution:
    def summaryRanges(self, nums):
        result = []
        length = len(nums)

        i = 0
        while i < length:
            if i == length - 1 or nums[i] + 1 != nums[i + 1]:
                result.append(str(nums[i]))
                i += 1
                continue

            start = nums[i]
            while i + 1 < length and nums[i] + 1 == nums[i + 1]:
                i += 1
            end = nums[i]
            result.append(str(start) + '->' + str(end))
            i += 1

        return result
  • Version 2
class Solution:
    def summaryRanges(self, nums):
        result = []

        for num in nums:
            if num - 1 not in nums and num + 1 not in nums:
                result.append(str(num))
                continue

            if num - 1 not in nums:
                start = num

            if num + 1 not in nums:
                end = num
                result.append(str(start) + '->' + str(end))

        return result

Reference

  1. https://leetcode.com/problems/summary-ranges/
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部