java - 有什么有效的方法来确定 boolean 数组中是否有更多 N 个连续 true ? java 语

标签 java arrays syntax

示例:

我有一个 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/

相关文章:

C指针数组/指针数组消歧

javascript - 为 JavaScript 或其他语言实现自定义语法

java - 痛饮 : How to rename generated Java code according to a regex?

java - 测试计划开始/结束时调用 JMeter 方法

java - 删除一个对象和所有依赖对象

java - Wildfly 间歇性地暂停我的网络应用程序

php - 如何使用 preg_match 在数组中搜索?

c++ - 如何在 C 中将 u_char* 转换为 char[]

Java 二十一点游戏无法运行。与条件有关

Bash/sh - && 和 ; 之间的区别