您应该编写一个程序或函数,给出不同的一位正整数的开始顺序,并以轨迹的长度作为输入输出,或者返回数字的结束顺序。
输入[5,1,2,6,7] and 14
定义以下种族:
--------------
76215 ->
--------------
比赛规则
- 赛道回绕,数字可以走多圈。
- 步骤的顺序是循环的,并且基于起始位置。在我们的例子中
5 1 2 6 7 5 1 2 ...
。 - 同一位置不能有多个数字。
每个数字
digit_value
每步都有一个单元格速度。超过一个数字或一个连续的数字块需要多花一步。如果数字没有所需的速度,它将在(一个或多个)数字之前停止。例子:[41 ] => [ 1 4 ] 4 overtakes 1 [2 1 ] => [ 21 ] 2 can only move 1 as it can't move 3 to overtake 1 [4 12 ] => [ 412 ] 4 can only move 1 as it can't move 5 to overtake 12 [ 3 ] => [ 3 ] 3 starting a new lap
每个数字都必须走
digit_value
几圈才结束。离开轨道的最后一个单元时,一圈完成。完成的数字将从轨道中删除。- 请注意,一个数字可能会通过一个步骤多次到达其起始位置并完成多个圈。
输入值
1..9
包含至少一个元素和一个正整数的不同的一位数正整数()列表,大于列表的长度,即轨道的长度。
输出量
- 以任何明确的格式按顺序排列的数字列表。
例子
直观的输入示例 starting_order = [5,9,2] and length = 6
295 | Start position
29 5| digit 5 moves
2 9 5| digit 9 moves, finishing lap #1
29 5| digit 2 moves
529 | digit 5 moves, finishing lap #1
52 9| digit 9 moves, finishing lap #2
5 29| digit 2 moves
529| digit 5 moves
9 52 | digit 9 moves, finishing laps #3 and #4
29 5 | digit 2 moves, finishing lap #1
29 5| digit 5 moves
2 9 5| digit 9 moves, finishing lap #5
29 5| digit 2 moves
529 | digit 5 moves, finishing lap #2
52 9| digit 9 moves, finishing lap #6
5 29| digit 2 moves
529| digit 5 moves
9 52 | digit 9 moves, finishing laps #7 and #8
9 5 | digit 2 moves, finishing lap #2 --> remove 2 from the track
59 | digit 5 moves, finishing lap #3
5 | digit 9 moves, finishing lap #9 --> remove 9 from the track
5| digit 5 moves
5 | digit 5 moves, finishing lap #4
| digit 5 moves, finishing lap #5 --> remove 5 from the track
------
Finish order: 2 9 5
格式范例 Input => Output
[3], 2 => [3]
[9, 5], 3 => [9, 5]
[5, 9, 2], 6 => [2, 9, 5]
[5, 9, 2], 10 => [5, 9, 2]
[5, 7, 8, 1, 2], 10 => [1, 5, 7, 8, 2]
[5, 1, 6, 8, 3, 2], 17 => [1, 6, 8, 2, 3, 5]
[1, 2, 3, 7, 8, 9], 15 => [1, 7, 8, 9, 2, 3]
[9, 8, 7, 3, 2, 1], 15 => [8, 7, 9, 1, 2, 3]
[1, 2, 3, 4, 5, 6, 7, 8, 9], 20 => [1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 7, 6, 5, 4, 3, 2, 1], 20 => [8, 7, 5, 9, 6, 1, 2, 4, 3]
这是代码高尔夫球,因此最短的条目将获胜。
大概输入数组不能有重复的元素吗?看起来是这样,但我看不到该条件明确说明。
—
安德鲁
@Andrew是的,不能有任何重复的数字。编辑了问题。谢谢。
—
randomra'5
对于测试用例6(长度= 17),我得到的结果略有不同(最后两位倒置)。我想知道我的错误在哪里。我的比赛记录是这样。您能否提供您的信息,以便我找出并找出错误?
—
克里斯蒂安·卢帕斯库