|
发表于 2020-3-11 10:34:40
|
显示全部楼层
本帖最后由 阴阳神万物主 于 2020-3-11 11:00 编辑
丧钟为谁而鸣?
- def solve(lst:'list of int',reverse:'是否大的在前'=False)->list:#这是一个动能越来越大的单摆。
- def getn():#反正楼主从来没要求过顺序,于是我就放飞自我咯。
- lst.sort()
- m,n = divmod(len(lst),2)
- l = lst[:m]
- r = lst[m+n:]
- if n:yield (lst[m],)
- for a,b in zip(l[::-1],r):
- yield (a,b)
- res = []
- for each in getn():
- res.extend(list(each))
- return res[::-1] if reverse else res
- def solve_2(lst:'list of int')->list:#行数少,感觉会快的思路
- lst.sort()
- try:
- lst[::2],lst[1::2] = lst[1::2],lst[::2]
- except ValueError:
- lst[:-1:2],lst[1::2] = lst[1::2],lst[:-1:2]
- return lst
- if __name__ == '__main__':
- print('示例 输出:',solve([5, 3, 1, 2, 3]))
- print('示例 输出:',solve_2([5, 3, 1, 2, 3]))
复制代码 |
评分
-
查看全部评分
|