美文网首页
每日一题20201112(922. 按奇偶排序数组 II)

每日一题20201112(922. 按奇偶排序数组 II)

作者: 米洛丶 | 来源:发表于2020-11-12 10:49 被阅读0次

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

image.png

思路

很简单,搞懂问题的核心就行,假设现在有奇数在偶数位上,偶数在奇数位上。

那么我们要做的就是,找到分别在对方位置上的数字,然后交换他们就行。
class Solution:
    def sortArrayByParityII(self, A: List[int]) -> List[int]:
        # 判断数组大小是否小于等于1,是则直接返回数组
        if len(A) <= 1:
            return A
        # 定义2个指针,i指向第一个偶数位,j指向第一个奇数位
        i, j = 0, 1
        # 循环结束的条件是i或者j超出数组范围
        while i < len(A) and j < len(A):
            # i不是偶数位且j不是奇数位 直接交换,并把i j分别挪到下一个位置
            if A[i] % 2 == 1 and A[j] % 2 == 0:
                A[i], A[j] = A[j], A[i]
                i += 2
                j += 2
            # i不是偶数, j是奇数 那么j去下一个位置
            elif A[i] % 2 == 1:
                j += 2
            # j不是奇数 i去下一个位置
            elif A[j] % 2 == 0:
                i += 2
            # i j位置都正确
            else:
                i += 2
                j += 2
        return A
image.png

相关文章

  • 每日一题20201112(922. 按奇偶排序数组 II)

    题目链接: 922. 按奇偶排序数组 II[https://leetcode-cn.com/problems/so...

  • Leetcode

    Leetcode 刷题记录 922. 按奇偶排序数组 II URL 问题:给定一个非负整数数组 A, A 中一半整...

  • 922. 按奇偶排序数组 II

    922. 按奇偶排序数组 II 问题 给定一个非负整数数组 , 中一半整数是奇数,一半整数是偶数。对数组进行排序,...

  • ARTS Week 04

    Algorithm 题目 922. 按奇偶排序数组 II 给定一个非负整数数组 A, A 中一半整数是奇数,一半整...

  • Leetcode 992 按奇偶排序数组

    922. 按奇偶排序数组 II URL 问题:给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对...

  • LeetCode第106场周赛题解

    922. 按奇偶排序数组 II 题目难度Easy 给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数...

  • 922. 按奇偶排序数组 II

    给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 A[i] 为奇数时,i ...

  • 922. 按奇偶排序数组 II

    给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 A[i] 为奇数时,i...

  • LeetCode 922. 按奇偶排序数组 II

    题目 给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 A[i] 为奇数...

  • LeetCode刷题之路 按奇偶排序数组 II

    按奇偶排序数组 II【简单】 给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,...

网友评论

      本文标题:每日一题20201112(922. 按奇偶排序数组 II)

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