码迷,mamicode.com
首页 > 其他好文 > 详细

Sort Colors

时间:2015-06-10 20:51:24      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

首先复习一下基础知识:

1,类的实例化: inst=className();即类名+(),如本题,实例化方法为:inst=Solution()

2,if...eles if的表达方式不是c++那种表达方式,eles  if在python中表述为elif

3,python有严格的缩进要求,不然就会报错,及时是使用注释‘‘‘或#也要缩进

程序测试的时候,当测试数组为[2]的时候,报错while nums[end]==2: list index out of range,可我感觉下标没错,还需要认真的检查一下吧,

为了避免这个问题,我加了了 if lenth==1。

class Solution:
    # @param {integer[]} nums
    # @return {void} Do not return anything, modify nums in-place instead.
    def sortColors(self, nums):
        lenth=len(nums)
        start=0
        end=lenth-1
        while nums[start]==0:
            start+=1
            if start==lenth:
                return 
            
        movePs=start
        while nums[end]==2:
            if end==0:
                return
            end-=1
        while movePs<=end:
            if nums[movePs]==0:
                temp=nums[start]
                nums[start]=nums[movePs]
                nums[movePs]=temp
                start+=1
                movePs+=1
            elif nums[movePs]==1:                     
                movePs+=1
            else:
                ‘‘‘这是等于2的情况‘‘‘
                temp=nums[end]
                nums[end]=nums[movePs]
                nums[movePs]=temp
                end-=1
        return 
                    
                

 

Sort Colors

标签:

原文地址:http://www.cnblogs.com/qiaozhoulin/p/4567136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!