Leetcode 228. Summary Ranges

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

1. Description

Maximum Swap

2. Solution

  • Version 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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/
如果有收获,可以请我喝杯咖啡!