【发布时间】:2020-04-03 16:13:19
【问题描述】:
长度为 n 的序列如果包含从 1 到 n 的所有整数恰好一次,则称为置换。
你能判断一个数组是否是 O(log N) 的排列吗?
【问题讨论】:
-
欢迎来到 Stack Overflow。请阅读the help pages,接受SO tour,阅读How to Ask,以及this question checklist。还请了解如何创建您自己的尝试的minimal reproducible example 和edit 您的问题以显示它,以及您遇到的问题的描述。最后,请实际上作为问题中的一个问题(并且标题是问题/问题的简短摘要)。
-
您的意思是“如何判断 if 数组 is 排列”吗?
-
我的第一个想法是,考虑到你必须至少观察每个数组元素一次,它应该很难击败 O(N)。但是,也许,我从错误的角度看待这一点。我很好奇这将如何结束。 ;-)
-
@DanielChristianMandolang:我编辑了您的问题正文以包含包含实际问题的标题。如果这不是您的意思,请自行编辑并澄清。
-
您确定
O(log N)吗?如果它要求O(N log N),这将是一个很好的练习,因为那样你可以尝试不同的事情只是为了意识到排序就是你所需要的,但是检查小于O(N)的N个数字的属性似乎是不可能的
标签: c++ permutation