321
社区成员




>给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。(测试用例仅做参考,我们会根据代码质量进行评分
这个题目用 python 做,实在无语,两句话的事
n = int(input().strip())
arr = [int(item) for item in input().strip().split()]
result = [v for v in arr if v % 2 == 1] + [v for v in arr if v % 2 == 0]
print(*result)
js 版本也不复杂,es 6 很容易支持这些,并且由于要求输出结果,而不是要求返回一个数组,像 leetcode 那样验证,所以
var n = parseInt(readline().trim());
var arr = Array.from(readline().split(' ')).map(function(v){return parseInt(v)});
print(arr.filter(x => x % 2 == 1).join(' '),arr.filter(x => x % 2 == 0).join(' '))
n = int(input())
print(*sorted(map(int,input().split()),key = lambda x:((x % 2) ^ 1)))
看到有小伙伴的更简单的实现,抄一下
n = int(input())
arr = list(map(int,input().split()))
print(*sorted(arr,key = lambda x:x % 2,reverse=True))
然后用 js 实现同款排序
var n = parseInt(readline().trim());
var arr = Array.from(readline().split(' ')).map(function(v){return parseInt(v)});
arr.sort((x,y) => x % 2 ? (y % 2 ? 1 : -1) : 1)
print(arr.join(' '))