LeetCode 905. Sort Array By Parity python

Given an array A of non-negative integers, return an array consisting of all the even elements of A, followed by all the odd elements of A.

You may return any answer array that satisfies this condition.

Example 1:

Input: [3,1,2,4]
Output: [2,4,3,1]
The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted.

Note:

  1. 1 <= A.length <= 5000
  2. 0 <= A[i] <= 5000

python好久不用了,捡起来很费劲。

感觉运行时间很慢,简简单单一个小程序跑了92ms。但leetcoe还没有足够数据显示92ms是快还是慢orz


class Solution:
    def sortArrayByParity(self, A):
        """
        :type A: List[int]
        :rtype: List[int]
        """
        n=len(A)
        if n==1:
            return A
        num=0
        for i in range(0,n):
            #print(A[i])
            if A[i]%2==0:
                num=num+1
        if num==0 or num==n:
            return A;
        #print(num)
        n2=n-1
        while A[n2]%2==1:
            n2=n2-1
        for i in range(0,n-1):
            if A[i]%2==1:
                A[i],A[n2]=A[n2],A[i]
                while A[n2]%2==1:
                    n2=n2-1
            if i>=n2:
                break
        return A
        

猜你喜欢

转载自blog.csdn.net/wenmiao_/article/details/82745864