![]() |
1
10
我这样重写了你的代码:
然后:
|
![]() |
2
3
见 How would you display an array of integers as a set of ranges? (algorithm) My answer 对于上述问题:
|
![]() |
3
3
纯功能python:
|
![]() |
4
3
我参加聚会有点晚了,但无论如何,这是我使用LINQ的版本:
|
![]() |
5
1
在我看来很清楚和直截了当。如果假定输入数组已排序,或者在进一步处理之前自己排序,则可以简化一点。 我建议的唯一的调整是反转减法:
…仅仅因为我发现积极的差异更容易工作。但你的代码是一个愉快的阅读! |
![]() |
6
1
正如我在评论中所写,我不喜欢使用值0作为标志,使firstnumber同时成为一个值和一个标志。 我在Java中快速实现了该算法,大胆跳过了您已经正确覆盖的有效性测试…
当然,我不会说它比你的算法更优雅/高效……只是一些不同的东西。 请注意,1,5,6,9可以写为1,5-6,9或1,5,6,9,不确定哪种更好(如果有的话)。 我记得我做过类似的事情(在C中),将消息编号分组到IMAP范围,因为它更有效。一种有用的算法。 |
![]() |
7
1
珀尔带输入验证/预排序 如果你需要做一些比这更有趣的事情,你可以很容易地得到一个棒棒糖的结果。 只需返回一个字符串。
输出:
一个很好的递归解决方案:
|
![]() |
8
1
短而甜的红宝石
|
![]() |
9
1
我的第一个想法,在巨蟒:
可能更干净,但还是很容易的。 简单翻译为haskell:
差不多一样。 |
![]() |
10
1
互动的抄本 J 会话(用户输入缩进3个空格,ASCII框中的文本为J输出):
在旁观者的眼中,可读性和优雅性:d 那是个很好的练习!它建议Perl的以下部分:
补遗在纯英语中,该算法查找前一项不少于一项的所有项,并将其用于下限;查找下一项不大于一项的所有项,并将其用于上限;并将两个列表逐项组合在一起。 由于j非常模糊,下面简单解释一下代码是如何工作的:
注:
同样地,
|
![]() |
11
1
这是我的haskell条目:
以及一个样本运行:
|
|
12
1
Erlang还可以对输入进行排序和唯一性,并且可以生成可编程的可重用对以及字符串表示。
测试获取可编程重用对: Shell>测试:组([343415,56,58,57,11,12,13,1,2,3,3,4,5])。 结果>[1,5,11,13,34,34,56,58,34153415] 测试获取“漂亮”字符串: Shell>测试:组“到”字符串([343415,56,58,57,11,12,13,1,2,3,3,4,5])。 结果>[“1-5”,“11-13”,“34”,“56-58”,“3415”] 希望它有帮助 再见 |
|
13
0
VBA
ConvertListToRange(“1,2,3,7,8,9,11,12,99100101”)。
|
![]() |
John V · 是否存在单元测试无法发现的逻辑/流错误类型? 7 年前 |
![]() |
Beefster · 为什么ANSI颜色转义以“m”而不是“]”结尾? 7 年前 |
![]() |
Guillermo Gutiérrez · STR转换是如何工作的? 7 年前 |
![]() |
RudziankoÅ · 合并排序数组算法 7 年前 |
|
user8852560 · 构造函数中的验证和构造函数冲突 7 年前 |
![]() |
jav974 · 订购产品时寻找最佳价格组合的算法 7 年前 |
![]() |
hippietrail · 确定浮点数中前导零的数量 7 年前 |