我有一组 1 和 0。如何计算连续 1 的最大数量?
(例如,x = [ 1 1 0 0 1 1 0 0 0 1 0 0 1 1 1 ])。这里的答案是 3,因为 1 连续出现的最大次数是 3。非常感谢。
我有一组 1 和 0。如何计算连续 1 的最大数量?
(例如,x = [ 1 1 0 0 1 1 0 0 0 1 0 0 1 1 1 ])。这里的答案是 3,因为 1 连续出现的最大次数是 3。非常感谢。
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;
}
这应该工作
因为这闻起来像作业,所以你得到的只是一个算法!
初始化计数器,最大值
用于数组中的所有元素。
如果元素为“1”,则
增加计数器
Else
max=GetMaxOf(max, counter)
重置计数器
End If
End For
遍历数组,记录您看到的连续 1 的数量。每当您看到 1 时,增加计数。每当您看到 0 时,将计数重置为零。您的问题的答案是迭代期间看到的最大计数器值。