阿里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;
    }

#笔试题目##阿里巴巴#
全部评论
楼主可以写一下思路不
点赞 回复 分享
发布于 2021-03-27 09:45
需要把输入放到数组里计算吗...
点赞 回复 分享
发布于 2021-03-26 20:36
什么题目呀
点赞 回复 分享
发布于 2021-03-26 20:21

相关推荐

04-22 15:13
已编辑
Java
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务