Python 中基于奇偶校验值对数组进行排序的程序

pythonserver side programmingprogramming更新于 2026/2/4 0:44:17

假设我们有一个包含几个整数的数组 A。我们必须先按偶数再按奇数对数字进行排序。因此,先将偶数放在首位,然后再是奇数。因此,如果数组为 A = [1, 5, 6, 8, 7, 2, 3],则结果将为 [6, 8, 2, 1, 5, 7, 3]

为了解决这个问题,我们将遵循以下步骤 −

  • set i := 0 and j := 0

  • while j < arr 的大小

    • 如果 arr[j] 为偶数,则

      • 交换 arr[i] 和 arr[j],

      • 将 i 增加 1

    • 将 j 增加 1

  • 返回 arr

让我们看看下面的实现以便更好地理解 −

示例

class Solution(object):
   def sortArrayByParity(self, a):
      i = 0
      j =0
      while j < len(a):
         if a[j]%2==0:
            a[i],a[j] = a[j],a[i]
            i+=1
         j+=1
   return a
ob1 = Solution()
nums = [1,5,6,8,7,2,3]
print(ob1.sortArrayByParity(nums))

输入

[1,5,6,8,7,2,3]

输出

[6,8,2,5,7,1,3]

相关文章


有用资源