【发布时间】:2010-11-15 22:36:02
【问题描述】:
这是我向 SO 提出的第一个问题,我希望能做对。在PHP中(如果不能,python或者伪语言也可以),给定一个n个元素的数组:
old_array = [1, 2, 3, 5, 7, 8, 9, 20, 21, 23, 29]
我需要将连续数字添加到新数组中,如果不是连续数字,则仅将该值添加到新数组中:
new_array = [ [1,2,3],
[5],
[7,8,9]
[20,21]
[23],
[29]
]
在 SO 上,我找到了这些相关主题,但无法正常工作。
- Creating a list of lists with consecutive numbers
- Python finding n consecutive numbers in a list
- Find the sum of consecutive whole numbers w/o using loop in JavaScript
不工作的代码在版本历史记录中,我删除了它,因为它有格式问题。
感谢大家,尤其是 Juan、mistabell 和 Axsuul 提供正确答案。
【问题讨论】:
-
这是一个真正的问题吗?看起来像家庭作业。
-
你说不能让它工作?向我们展示您到目前为止的想法,也许我们可以发现问题。
-
@Marcelo Cantos 是的。基本上我正在尝试建立一个 webapp,但我被这个问题困住了(我是一名 UI 设计师,我现在才开始编程)。
-
该死的。我有格式问题,请提示。
-
附带说明,您真的应该删除所有对
count的调用,它是性能杀手,因此在 PHP 中调用它被认为是一种不好的做法在循环中(即使在检查循环条件时)。