我有一组1和0。如何计算连续1的最大数量?
(例如,x = [1 1 0 0 1 1 0 0 0 1 0 0 1 1 1])。答案是3,因为连续发生的最大次数是3次。 非常感谢你。
答案 0 :(得分:1)
迭代数组,保持你看到的连续1个数的计数。每当看到1时,递增计数。每当看到0时,将计数重置为零。您的问题的答案是迭代期间看到的最大计数器值。
答案 1 :(得分: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;
}
这应该有效
答案 2 :(得分:1)
因为这有点像家庭作业,所有你得到的是算法!
初始化计数器,最大
对于阵列中的所有元素
如果元素为'1'
递增计数器
否则
max = GetMaxOf(max,counter)
重置计数器
结束如果