922. Sort Array By Parity II

 

Given an array A of non-negative integers, half of the integers in A are odd, and half of the integers are even.

Sort the array so that whenever A[i] is odd, i is odd; and whenever A[i] is even, i is even.

You may return any answer array that satisfies this condition.

 

Example 1:

Input: [4,2,5,7]
Output: [4,5,2,7]
Explanation: [4,7,2,5], [2,5,4,7], [2,7,4,5] would also have been accepted.

 

Note:

  1. 2 <= A.length <= 20000
  2. A.length % 2 == 0
  3. 0 <= A[i] <= 1000

 

class Solution:
    def IsOdd(self,A):
        OX=[]
        for x in A:
            if A.index[x]%2 !=0 and x%2 !=0 :
                OX.append(index[x])
                return OX
        
    def IsEven(self,A):
        OE=[]
        for x in A:
            if A.index[x]%2 !=1 and x%2 !=1 :
                OE.append(index[x])
                return OE
        
        
    def sortArrayByParityII(self, A):
        """
        :type A: List[int]
        :rtype: List[int]
        """
        OEV=[]
        ODD=[]
        if IsOdd(A):
            print("Odd is OK")
        else:
            ODD=IsOdd(A)
        If IsEven(A):
            print("Even is OK")
        else:
            OEV=IsEven(A)
        for i in OX:
            j=0
            A[i],A[OEV[j]]=A[OEV[j]],A[j]
        return A
            

 

Offical answer:

class Solution(object):
    def sortArrayByParityII(self, A):
        j = 1
        for i in range(0, len(A), 2):
            if A[i] % 2:
                while A[j] % 2:
                    j += 2
                A[i], A[j] = A[j], A[i]
        return A

= 0

# 0 和 空字符当做判断条件时会被当做 False

>>> if f:
    print("OK")
else:
    print("f is false") 
f is false
>>> 

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值