![]() |
1
9
不需要额外的变量或参数。 |
![]() |
2
7
这个版本更快,因为它避免了复制
这个只使用O(logn)堆栈空间
|
![]() |
3
3
[7,5,3,1] |
![]() |
4
3
考虑到python中默认的堆栈深度限制1000,我真的不会使用递归。我知道上面有很多递归实现,所以这里有一个非递归实现,它是用python的方式实现的:
为了完整起见,如果你真的必须使用递归,我就来试试。这和乔希·马修斯的版本非常相似。
|
![]() |
5
2
这是另一种方法,它返回奇数列表,而不是修改传入的列表。非常类似于
输出为:
|
![]() |
6
2
既然是派对,我就想找一个好的,明智的,真正的程序员
商标
解决方案。它是用emacs写成的,灵感来自gnibbler的答案。就像他的,它用
|
![]() |
7
1
|
![]() |
8
0
|
![]() |
9
0
这一个避免了列表复制的开销,代价是要把答案倒过来,并且增加了丑陋的因素:
|
![]() |
10
0
既然我们都有贡献:
|
![]() |
11
0
好吧,还有很多其他的答案,但我认为我的答案是最干净的:
|
![]() |
jkfe · 为什么println会在这段递归代码中执行? 2 年前 |
![]() |
Jimmy · 这种算法怎么能按顺序遍历树“爬上”树呢? 2 年前 |
![]() |
AvirukBasak · gcc中无return语句的尾部递归 2 年前 |
![]() |
Dharmik Patel · 使用python递归完全可以整除 3 年前 |
![]() |
W.tan · 一维最短距离递归算法 3 年前 |
![]() |
ncarrawa · 将1添加到i(递归)时出现类型错误 3 年前 |
![]() |
Eren · Python递归何时返回[duplicate] 3 年前 |