文章目录
56. 合并区间
class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
intervals.sort(key=lambda x: x[0])
# print(intervals)
start, end = intervals[0]
res = []
for i in range(1, len(intervals)):
# 判断是否有重叠
if intervals[i][0] <= end:
# 有重叠的时候,更新end
end = max(intervals[i][1], end)
else:
res.append([start, end])
# 到新的起点
start,end = intervals[i]
# 最后一组需要加入结果集
res.append([start, end])
return res
738.单调递增的数字
只要有一个修改了,后续都需要填9
class Solution:
def monotoneIncreasingDigits(self, n: int) -> int:
num_list = []
while n != 0:
num_list.append(n%10)
n = n//10
num_list.reverse()
# print(num_list)
for i in range(len(num_list) - 1, 0,-1):
if num_list[i-1] > num_list[i]:
num_list[i-1] -= 1
num_list[i] = 9
# print(num_list)
res = 0
flag = False
for num in num_list:
if num == 9:
flag = True
if flag:
num = 9
res = res *10 + num
return res