我是靠谱客的博主 背后书包,最近开发中收集的这篇文章主要介绍leetcode 922.按奇偶排序数组2(python),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

922.按奇偶排序数组2
题目链接

题目描述:
给定一个非负整数数组 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] 也会被接受。

提示:

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

解题思路:
根据题意,输出列表中奇数索引的数值是奇数,偶数索引的数值是偶数,因此遍历一遍列表后,分别将奇数和偶数放在两个列表中,在新建一个列表,奇数位置添加从奇数列表弹出的数,偶数位置添加从偶数列表弹出的数。

class Solution:
    def sortArrayByParityII(self, A: List[int]) -> List[int]:
        jishu=[]
        oushu=[]
        a=[]
        for i in A:
            if i%2==0:#为偶数
                oushu.append(i)
            else:#为奇数
                jishu.append(i)
        for j in range(len(A)):
            if j%2==0:
                a.append(oushu.pop())
            else:
                a.append(jishu.pop())
        return a

最后

以上就是背后书包为你收集整理的leetcode 922.按奇偶排序数组2(python)的全部内容,希望文章能够帮你解决leetcode 922.按奇偶排序数组2(python)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部