美文网首页
LeetCode-922 按奇偶排序数组 II

LeetCode-922 按奇偶排序数组 II

作者: FlyCharles | 来源:发表于2019-02-23 14:47 被阅读0次

    1. 题目

    https://leetcode-cn.com/problems/sort-array-by-parity-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] 也会被接受。
    

    2. 我的AC

    class Solution(object):
        def sortArrayByParityII(self, A):
            """
            :type A: List[int]
            :rtype: List[int]
            """
            odds, evens = [], []
            result = range(len(A))
            for i in range(len(A)):
                if A[i] % 2 == 1:
                    odds.append(A[i])
                else:
                    evens.append(A[i])
            result[::2] = evens
            result[1::2] = odds
            return result
    

    3. 小结

    1. 列表在索引赋值之前,必须确保列表非空、索引存在
    result = range(len(A)) # 很重要!
     result[::2]
    

    相关文章

      网友评论

          本文标题:LeetCode-922 按奇偶排序数组 II

          本文链接:https://www.haomeiwen.com/subject/ceiuyqtx.html