注册了域名 网站怎么做,成都seo手段,软件商店电脑版下载,黑龙江新闻法治频道节目回放文章目录 13. 合并区间14. 轮转数组 13. 合并区间
合并区间 数组 排序 思路#xff1a; 代码#xff1a;
class Solution:def merge(self, intervals):result []if len(intervals) 0:return result # 区间集合为空直接返回intervals.sort() # 默认按照区间的左边界进… 文章目录 13. 合并区间14. 轮转数组 13. 合并区间
合并区间 数组 排序 思路 代码
class Solution:def merge(self, intervals):result []if len(intervals) 0:return result # 区间集合为空直接返回intervals.sort() # 默认按照区间的左边界进行排序result.append(intervals[0]) # 第一个区间可以直接放入结果集中for i in range(1, len(intervals)):if result[-1][1] intervals[i][0]: # 发现重叠区间# 合并区间只需要更新结果集最后一个区间的右边界因为根据排序左边界已经是最小的result[-1][1] max(result[-1][1], intervals[i][1])else:result.append(intervals[i]) # 区间不重叠return result
14. 轮转数组
轮转数组 数组 题目 思路 题目的前提是需要在原数组上进行修改没有返回值 先对数组进行切片对切片后的数组进行遍历对原数组进行值的修改
代码
class Solution:def rotate(self, nums: List[int], k: int) - None:n len(nums)k k % n # 有可能k值会大于数组长度因此需要对k除n取余result1 nums[n - k:]result2 nums[:n-k]for i in range(len(result1)):nums[i] result1[i] for j in range(len(result2)):nums[k j] result2[j]