【发布时间】:2015-01-09 20:06:02
【问题描述】:
我想知道是否有一种快速方法可以确定向量中的所有元素是 false 还是 true?喜欢用循环检查每个元素而不是?
【问题讨论】:
-
不是真的,除了选择另一个容器,例如
bitset,但请查看any_of和all_of。 -
没有。这将惩罚更有用的操作。不过,标准算法可能专门针对您的情况。或者不。
-
如果您可以将
true\false视为1\0,请尝试将其转换为k-th order statistic问题。仅查找O(log.n)时间中的第一个和最后一个值。如果它们相同,您就知道它们都是一个值。 -
重温我的记忆,您实际上需要一个订单统计树结构才能在
O(log.n)中获取这些信息。如果没有专门的结构,它将是O(n)。如果您真的在追求最快的方法,那么值得考虑一下,否则可能会矫枉过正。