按降序显示奇数python_程序在Python中分别以升序和降序对所有偶数和奇数进行排序...

假设我们有一个称为nums的数字列表,我们必须通过遵循以下条件对数组进行排序偶数按升序排列

奇数按降序排列

偶数和奇数的相对位置不应更改。

因此,如果输入类似于[9,14,12,91,-4,5],则输出将为[91,-4,12,9,9,14,5]

为了解决这个问题,我们将遵循以下步骤-偶数:= nums数组中的偶数项列表

赔率:= nums数组中的奇数项列表

对列表进行排序

偶数= 0,奇数= 0

对于范围从0到nums的索引,请执行nums [index]:=赔率[odd_i]

奇数:=奇数+ 1

nums [index]:= evens [even_i]

even_i:= even_i + 1

如果nums [index] mod 2与0相同,则

除此以外,

返回数字

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

示例class Solution:

def solve(self, nums):

evens = [num for num in nums if num % 2 == 0]

odds = [num for num in nums if num % 2 != 0]

evens.sort()

odds.sort(reverse=True)

even_i = 0

odd_i = 0

for index in range(len(nums)):

if nums[index] % 2 == 0:

nums[index] = evens[even_i]

even_i += 1

else:

nums[index] = odds[odd_i]

odd_i += 1

return nums

ob = Solution()

print(ob.solve([9, 14, 12, 91, -4, 5]))

输入值[9, 14, 12, 91, -4, 5]

输出结果[91, -4, 12, 9, 14, 5]

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值