給定乙個無重複元素的有序整數陣列,返回陣列區間範圍的彙總。
示例 1:
輸入: [0,1,2,4,5,7]
輸出: ["0->2","4->5","7"]
解釋: 0,1,2 可組成乙個連續的區間; 4,5 可組成乙個連續的區間。
示例 2:
輸入: [0,2,3,4,6,8,9]
輸出: ["0","2->4","6","8->9"]
解釋: 2,3,4 可組成乙個連續的區間; 8,9 可組成乙個連續的區間。
【中等】
【分析】沒什麼難度。。。直接暴力解題吧
class solution(object):
def summaryranges(self, nums):
""":type nums: list[int]
:rtype: list[str]
"""if len(nums)==0:
return
res=
start,end,flag=str(nums[0]),str(nums[0]),1
for i in range(1,len(nums)):
if nums[i]==nums[i-1]+1:
end=str(nums[i])
flag+=1
else:
if start!=end:
else:
start,end,flag=str(nums[i]),str(nums[i]),flag+1
if flag==len(nums):
if start!=end:
else:
return res
這道題雖然沒有什麼難度,依然可以想想其他方法開拓思路:劃窗/雙指標。**更加優雅:
class solution(object):
def summaryranges(self, nums):
""":type nums: list[int]
:rtype: list[str]
"""res=
l,r=0,1
while r<=len(nums):
if rpass
elif nums[l]==nums[r-1]:
l=r
else:
l=rr+=1
return res
228 彙總區間
給定乙個無重複元素的有序整數陣列 nums 返回 恰好覆蓋陣列中所有數字 的 最小有序 區間範圍列表。也就是說,nums 的每個元素都恰好被某個區間範圍所覆蓋,並且不存在屬於某個範圍但不屬於 nums 的數字 x 列表中的每個區間範圍 a,b 應該按如下格式輸出 a b 如果 a b a 如果 a ...
leetcode 228 彙總區間
給定乙個無重複元素的有序整數陣列 nums 返回 恰好覆蓋陣列中所有數字 的 最小有序 區間範圍列表。也就是說,nums 的每個元素都恰好被某個區間範圍所覆蓋,並且不存在屬於某個範圍但不屬於 nums 的數字 x 列表中的每個區間範圍 a,b 應該按如下格式輸出 a b 如果 a b a 如果 a ...
228 彙總區間 力扣(LeetCode)
給定乙個無重複元素的有序整數陣列,返回陣列區間範圍的彙總。示例 1 輸入 0,1,2,4,5,7 輸出 0 2 4 5 7 解釋 0,1,2 可組成乙個連續的區間 4,5 可組成乙個連續的區間。示例 2 輸入 0,2,3,4,6,8,9 輸出 0 2 4 6 8 9 解釋 2,3,4 可組成乙個連續...