使用 javascript 在数组中找到最大连续的

find max Consecutive Ones in array using javascript

我有一组数字。我需要找到数组中连续 1 的最大数量。

var arr = [1, 1, 3, 2, 3, 1, 1, 1];

const maxOne = (arr) => {
  for (var i = 0; i < arr.length; i++) {
    let count = 0;
    let result = 0;
    if (arr[i] ==1) {
      count += 1;
      result = Math.max(result, count);
    } else {
      count = 0
    }
  return result
  }
}

console.log(maxOne(arr));

期望的输出:3

我的输出:1

我不确定我哪里错了

你的算法有效,只是犯了一些错误:

  • 在循环外创建变量
  • return 在循环之后,不在循环中(它会在第一次迭代时中断循环)
const maxOne = (arr) => {
  let count = 0;
  let result = 0;
  for (var i = 0; i < arr.length; i++) {
    if (arr[i] === 1) {
      count += 1;
      result = Math.max(result, count);
    } else {
      count = 0
    }
  }
  return result
}

你可以这样做。

let arr=[1,2,3,1,1,2,1,1,12,1,1,1,1];
let count=0;
for(let i=0;i<arr.length;i++){
  arr[i]==1 ? count+=1 :count=0;
}
console.log(count).