You have an array of numbers.
Your task is to sort ascending odd numbers but even numbers must be on their places.
一组数列里面有偶数,有奇数,现在只对奇数排序,偶数位置不动
Zero isn’t an odd number and you don’t need to move it. If you have an empty array, you need to return it.
Example
sort_array([5, 3, 2, 8, 1, 4]) == [1, 3, 2, 8, 5, 4]
最佳解法:
def sort_array(arr):
odds = sorted((x for x in arr if x%2 != 0), reverse=True)
return [x if x%2==0 else odds.pop() for x in arr]
本文介绍了一个有趣的编程挑战:在一个混合数组中,仅对奇数进行排序,同时保持偶数的位置不变。通过一个简洁的Python函数实现,展示了如何高效地解决这个问题。
5万+

被折叠的 条评论
为什么被折叠?



