天天看点

Python 交叉排序题

在计蒜客遇到的一道题:

输入一行 k 个用空格分隔开的整数,依次为 n1, n2 … nk。请将所有下标不能被 3 但可以被 2 整除的数在这些数字原有的位置上进行升序排列,此外,将余下下标能被 3 整除的数在这些数字原有的位置上进行降序排列。

输出包括一行,与输入相对应的若干个整数,为排序后的结果,整数之间用空格分隔。

我的思路如下:

1.根据原列表下标判断,把列表的元素增添到新列表

2.新列表排序后

3.再根据原列表下标判断,把新列表增添到最后的列表输出

方法一:

方法二:

虽然做了出来,但我觉得方法还不完善,希望大家可以提提意见