-2

我有一组 1 和 0。如何计算连续 1 的最大数量?

(例如,x = [ 1 1 0 0 1 1 0 0 0 1 0 0 1 1 1 ])。这里的答案是 3,因为 1 连续出现的最大次数是 3。非常感谢。

4

3 回答 3

1
int cnt = 0,max=0;
for(int i=0;i<x.length;i++){
   cnt=0;
   while(i<x.length&&x[i]==1){
      cnt++;
      i++;
   }
   if(cnt>max) max=cnt;
}

这应该工作

于 2013-10-21T15:06:49.437 回答
1

因为这闻起来像作业,所以你得到的只是一个算法!

初始化计数器,最大值
用于数组中的所有元素。
如果元素为“1”,则
增加计数器
Else
max=GetMaxOf(max, counter)
重置计数器
End If
End For

于 2013-10-21T15:07:04.497 回答
1

遍历数组,记录您看到的连续 1 的数量。每当您看到 1 时,增加计数。每当您看到 0 时,将计数重置为零。您的问题的答案是迭代期间看到的最大计数器值。

于 2013-10-21T15:02:13.523 回答