题解 | #颜色分类#

看了大家的题解,找了一个看似最简单的翻译成Python版本,结果发现这个思路并不简单,把while和if前后位置换一下, [1,2,0] 这个用例会运行失败

class Solution:
    def sortColor(self , colors: List[int]) -> List[int]:
        # write code here
        l = 0
        r = len(colors)-1
        for i in range(len(colors)):
            while i <= r and colors[i] == 2:
                temp = colors[r]
                colors[r] = colors[i]
                colors[i] = temp
                r -= 1
            if  colors[i] == 0:
                temp = colors[l]
                colors[l] = colors[i]
                colors[i] = temp
                l += 1                                    
        return colors


全部评论

相关推荐

03-14 16:04
已编辑
安徽农业大学 算法工程师
痴心的她allin秋...:啥笔试都挂怎么办,某9本考研下岸,练也没时间了,对算法也不感兴趣,大部分大厂笔试只能A0-1个😄
米哈游笔试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务