![]() |
1
17
|
![]() |
2
6
我玩了一点基准测试,得到了这个小数字(原始数组)
对于较大的数量或项目(原始数组
注意,由于数据的特殊性,算法的适用性会有很大的变化(我猜更长的字符串可能会增加
编辑
:这里是基准的完整代码(长数组版本,缺少短数组版本)
|
![]() |
3
3
我最快的是:
但是基准测试针对:
表明
另一个基准是 Eric Strom's sub |
![]() |
4
2
一个小高尔夫球:
编辑:映射/排序/映射是 Schwartzian transform 对于不熟悉这种技术和好奇的人。 |
![]() |
5
2
假设目标只是找到最长的字符串,而不是其索引:
|
![]() |
6
1
如果你真的想切断计算的数量
编辑: 我看到没有人发布我所指的完整示例,所以这里是(我还没有对它进行基准测试,因为我不在我的个人电脑中):
|
![]() |
7
1
这似乎比其他解决方案(基于 最快的风暴 )
输出
|
![]() |
8
0
您可以使用一些临时变量来避免反复计算长度:
基准结果:
|
![]() |
9
0
首先,我测试了所有的程序是否都给了我正确的结果。MBO的程序没有通过第一个测试(它返回一个数组引用);为了给他第二个更改,我修改了程序以获得正确的结果。 我做了几次基准测试,但并不是总能得到相同的顺序。 所以我想说(正如这里已经提到的)Yth和Fasset-Eric-Strom是最快的,但是List-Utils的减少速度几乎和他们一样快; 从结果中很容易看出,DavidPrecious Sort版本是最慢的,MBO修改后的Reduce版本是第二慢的。
我的结论是:清单减少是最佳性价比的赢家。
.
|
![]() |
10
-1
您可以通过减少到包含字符串本身旁边的长度的结构或数组来减少计算字符串长度的次数。
此外,迭代由
|
![]() |
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 6 月前 |
![]() |
Alisa Petrova · 在有向图中更改一对顶点以创建循环 6 月前 |
![]() |
b39b332d · 使用C++标准库实现高效间隔存储 10 月前 |
![]() |
Paul C · 在维基百科上,将二叉搜索树转换为排序链表的算法是否存在错误? 10 月前 |
![]() |
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 10 月前 |
![]() |
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 11 月前 |