if(count>0) count--; else{ c=A[i] count=1; } 这段当第一次count减为0的时候c就没有办法换啊
int majority(int A[],int n)
{ int i,c,count=1; c=A[0];
for(i=1;i<n;++i)
{
if(A[i]==c)
count++;
else{
if(count>0)
count--;
else{
c=A[i];
count=1;
}
}
}
确实第一轮count=1 执行count--后变成0(前提是A[i]!=c,相等就会加一),进入i=2第二轮循环,说明这个程序就是这样
你可以这样写
if(count>0) {
count--;
}
else{
c=A[i] count=1; //count<0时执行else
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632