首页 > 其他 > 详细

905 sort-array-by-parity

时间:2019-02-27 10:44:44      阅读:123      评论:0      收藏:0      [点我收藏+]
class Solution:
    def sortArrayByParity(self, A: List[int]) -> List[int]:
        first = 0
        last = len(A)-1
        while first<last:
            m = A[first]
            n = A[last]
            if (m&1 is 1) and (n&1 is 0):
                A[first],A[last] = A[last],A[first]
                first += 1
                last -= 1
            elif m&1 is 0:
                first += 1
            elif n&1 is 1:
                last -= 1
        
        return A

  88ms,13.9M

优化一:

class Solution:
    def sortArrayByParity(self, A: List[int]) -> List[int]:
        first = 0
        last = len(A)
        for i in range(last):
            a = A[i]
            if a&1==0:
                first += 1
            else:
                for j in range(last,first,-1):
                    if A[j-1]&1==0:
                        A[first],A[j-1] = A[j-1],A[first]
                        last = j
                        first += 1
                        break
        return A

  80ms,14M

 

905 sort-array-by-parity

原文:https://www.cnblogs.com/accumulationbystep/p/10441637.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!