![]() |
1
1
对于大多数编码katas,算法的选择远比实现细节重要,但是在我们开始之前,让我指出实现中最明显的缺陷:
另外,您是否注意到正在继续生成组合,即使组合是重复的?那是多余的。 因此,廉价的改进将是:
然而,真正的改进是选择更好的算法。如果你利用了这个问题的数学结构,你就可以找到解的数目而不必全部迭代。 以下见解可能会有所帮助:
|
![]() |
2
0
一个(第一个)优化是只检查或生成 数字和可被3整除 ,因为只有这些数字可以被3整除。
所以在你的例子中(
对于较大的数字(
可能的算法 :
|