尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Hot-75 颜色分类

Hot-75 颜色分类 解法1双指针利用 left、right控制边界class Solution: def sortColors(self, nums: List[int]) - None: Do not return anything, modify nums in-place instead. # 荷兰旗问题双指针移动法 left 0 right len(nums) - 1 i 0 # left : 下一个0应该放置的a位置也是0的右边界 # right: 下一个2应该放置的位置也是2的左边界 while i right: if nums[i] 0: # 交换 nums[i],nums[left] nums[left],nums[i] left 1 i1 # 交换过来的元素一定是处理好的了 # 这里有一个点left一定是 lefti的 # 而且如果left i那nums[left]未知 # 但是如果left i ,则nums[left] 一定是1 [0, left) → 全是 0 [left, i) → 全是 1 ← 关键 [i, right] → 未处理 (right, n) → 全是 2 elif nums[i] 2: nums[i],nums[right] nums[right],nums[i] right -1 # i不能移动因为交换过来的元素还有可能需要处理 else: i 1
返回列表