按奇偶排序数组 II
题目
给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。
对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。
你可以返回任何满足上述条件的数组作为答案。
示例:
输入:[4,2,5,7]
输出:[4,5,2,7]
解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。
链接:https://leetcode-cn.com/leetbook/read/learn-data-sturcture-in-7-chapters/xlw1hg/
解答
MINE
Leetcode 版本
class Solution:
def sortArrayByParityII(self, A: List[int]) -> List[int]:
ji = []
ou = []
for i in A:
if i % 2 == 0:
ou.append(i)
else:
ji.append(i)
# print('ji-> ', ji)
# print('ou-> ', ou)
A[1::2] = ji
A[::2] = ou
return A
Pycharm 版本
# -*- encoding: utf-8 -*-
"""
@File : jiou.py
@Contact : ag@team-ag.club
@License : (C)Copyright 2019-2020, CodingPark
@Modify Time @Author @Version @Desciption
------------ ------- -------- -----------
2020-11-07 14:05 AG 1.0 按奇偶排序数组 II
"""
def sortArrayByParityII(nums):
ji = []
ou = []
for i in nums:
if i % 2 == 0:
ou.append(i)
else:
ji.append(i)
# print('ji-> ', ji)
# print('ou-> ', ou)
nums[1::2] = ji
nums[::2] = ou
return nums
nums = [4, 2, 5, 7]
fin = sortArrayByParityII(nums)
print('fin-> ', fin)