【发布时间】:2015-11-06 20:31:09
【问题描述】:
我想测试一个列表是否包含连续的整数并且没有重复的数字。 例如,如果我有
l = [1, 3, 5, 2, 4, 6]
它应该返回 True。
如何在不修改原始列表的情况下检查列表是否包含最多 n 个连续数字? 我想过复制列表并删除原始列表中出现的每个数字,如果列表为空,那么它将返回 True。
有没有更好的方法来做到这一点?
【问题讨论】:
-
你的例子中的答案应该是什么?
-
我很困惑为什么你的测试用例应该返回
True,5和2不连续 -
条目是整数吗?它们是非负数还是严格正数?
-
在 R 中应该是
any(diff(sort(x)) == 1) & all(table(x) == 1)但我还不知道 Python,所以我有兴趣看看它是如何完成的。我正在尝试尽可能地进行翻译以学习两者。 -
如果数字是连续的,则不能有重复的。所以第二个条件是多余的。检查
[1,2,2,3]时所需的输出是什么?如果答案是True,请改写问题