合併區間
給出乙個區間的集合,請合併所有重疊的區間。
示例 1:
輸入: [[1,3],[2,6],[8,10],[15,18]]
輸出: [[1,6],[8,10],[15,18]]
解釋: 區間 [1,3] 和 [2,6] 重疊, 將它們合併為 [1,6].
示例 2:
輸入: [[1,4],[4,5]]
輸出: [[1,5]]
解釋: 區間 [1,4] 和 [4,5] 可被視為重疊區間。
class
solution
:def
merge
(self, nums):if
len(nums)
<=1:
return nums
nums.sort(key=
lambda x:x[0]
) 0]
)for i in
range(1
,len
(nums)):
if res[-1
][1]
>= nums[i][0
]:res[-1
]=[min
(res[-1
][0]
, nums[i][0
]),max
(res[-1
][0]
, nums[i][1
])]if res[-1
][1]
< nums[i][0
]:)return res
給出乙個無重疊的 ,按照區間起始端點排序的區間列表。
在列表中插入乙個新的區間,你需要確保列表中的區間仍然有序且不重疊(如果有必要的話,可以合併區間)。
示例 1:
輸入: intervals = [[1,3],[6,9]], newinterval = [2,5]
輸出: [[1,5],[6,9]]
示例 2:
輸入: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newinterval = [4,8]
輸出: [[1,2],[3,10],[12,16]]
解釋: 這是因為新的區間 [4,8] 與 [3,5],[6,7],[8,10] 重疊。
#### 雖然這是乙個偷懶的辦法,效果還是很不錯的哦
### 時間複雜度 95%
### 空間複雜度 100%
class
solution
:def
merge
(self, nums, aim)
:
iflen
(nums)
<=1:
return nums
nums.sort(key=
lambda x:x[0]
) 0]
)for i in
range(1
,len
(nums)):
if res[-1
][1]
>= nums[i][0
]:res[-1
]=[min
(res[-1
][0]
, nums[i][0
]),max
(res[-1
][0]
, nums[i][1
])]if res[-1
][1]
< nums[i][0
]:)return res
56 57 合併區間 插入區間
給出乙個區間的集合,請合併所有重疊的區間。直接對區間起點進行排序,然後遍歷,判斷當前遍歷區間的起點是否在前一區間內,在的話,更新前一區間的終點為兩者終點最大值,不在的話直接將當前區間插入。class solution sort intervals.begin intervals.end const ...
Python合併和拆分excel
當前目錄 og dir cwd origin 存放待合併的excel og ls os.listdir og dir 所有excel名稱 cb name combine.xlsx 合併後的檔名 合併 放置待拆分的excel 限1個 fname b dir os.listdir b dir 0 待拆分...
列表的合併和排列
list1 1 2,3 list2 4 5,6 for i in list1 先遍歷列表一中的元素 分別將list1中的元素加在list2列表的後方 print list2 4 5,6 1,2 3 1.2 extend函式 list1 1 2,3 list2 4 5,6 list1.extend l...