|
|
1
21
你可以使用内置的配分函数,
|
|
2
5
无需编写自己的实现。Clojure提供 隔板 懒惰的 列表 ,如果仅使用数字文字:
|
|
|
3
5
您可以从您的版本创建一个延迟序列:
(与您的条件不同的原因,如果(>(count xs)(dec n))'是因为从xs中计算M个元素比每次都计算整个xs集合更有效(这有点像懒惰,因为我们不想遍历整个集合) 想象一下,每一次迭代都要计算这个巨大范围内的元素会是什么样子:)
|
|
|
4
2
我已经使用Clojure大约一个月了,所以我可能没有资格指定最惯用的方法;) partition 如前所述)。 这个实现已经相当不确定数据结构了——因为它使用 sequence 操作,它与所有标准数据结构一起工作:
使用纯递归的主要限制是受堆栈大小的限制:
|