示例:
我有一个 boolean 数组,里面有 N 个 boolean 值。确定数组中是否存在超过连续 M 个真标志的最有效方法是什么?
写一些类似(bA=booleanArray, for M=3)的内容
(bA[0] && bA[1] && bA[2]) || (bA[1] && bA[2] && bA[3]) || ...
真的很丑。
这不能通过具有动态最少真标志的非常长的动态长度数组来满足需要。事实又少又分散,也许效率低下?
最佳答案
使用循环和计数器:
int count = 0;
for (boolean x: theArray){
if (x) {
count++;
if (count >= n) return true; // n is the count we are looking for
} else { count = 0; }
}
return false;
关于java - 有什么有效的方法来确定 boolean 数组中是否有更多 N 个连续 true ? java 语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37106911/