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/
如果有收获,可以请我喝杯咖啡!