阿里26号笔试,第一道题,有没有更好的方法
int GetMaxCards(int[] cards){
int sum = 0,max = 0;
boolean have0 = false;
int idx0 =0;
for(int i=0;i<cards.length;){
if(cards[i]==1){
sum++;
i++;
}else if(have0){
max = Math.max(sum,max);
have0=false;
sum = 0;
i=idx0+1;
}else {
if(sum!=0){
have0=true;
}
idx0 = i;
i++;
}
}
max = Math.max(sum,max);
if(max == cards.length) max--;
return max;
} #笔试题目##阿里巴巴#

查看5道真题和解析