
[LeetCode] 228. Summary Ranges

i == len(nums) - 1 예외 처리 추가)
nums = [-1]), loop never executesnums = [-1] 같은 길이 1 배열에서 for-loop 미실행)len(nums) == 1class Solution:
def summaryRanges(self, nums: List[int]) -> List[str]:
if not nums:
return []
results = []
start, end = nums[0], nums[0]
for i in range(1, len(nums)):
if nums[i] != nums[i - 1] + 1:
end = nums[i-1]
if end == start:
results.append(f"{start}")
else:
results.append(f"{start}->{end}")
start = nums[i]
if i == len(nums)-1:
results.append(f"{start}")
else:
if i == len(nums)-1:
results.append(f"{start}->{nums[i]}")
print(f"index {i} -> start = {start}, end = {end}, results = {results}")
return results
class Solution:
def summaryRanges(self, nums: List[int]) -> List[str]:
if not nums:
return []
results = []
start = nums[0]
for i in range(1, len(nums)):
if nums[i] != nums[i - 1] + 1:
end = nums[i - 1]
if start == end:
results.append(str(start))
else:
results.append(f"{start}->{end}")
start = nums[i]
end = nums[-1]
if start == end:
results.append(str(start))
else:
results.append(f"{start}->{end}")
return results