京东测开第一题求指教

import java.util.Scanner;  
public class Main { public static void main(String arghs[]){
        Scanner cc = new Scanner(System.in);  String c2 = null;  while (cc.hasNext()){
        String c = cc.nextLine(); int j = 0;  for(int i=c.length()-1;i>=0;i--){ if(c.charAt(i)=='0'){
                    c2 = c.substring(i+1,c.length());  j = i;  break;  }
            }
            c = c2+c.substring(0,j+1);  int max = 1;  int sum = 1;  for(int i=0;i<c.length()-2;i++){ if(c.charAt(i)=='1'&&c.charAt(i+1)=='1'){
                      sum++;  }else{ if(sum>max){
                          max = sum;  }
                      sum =1;  i++;  }
            } if(sum>max){
                max = sum;  }
            System.out.println(max);  }
    }
}

大概思路就是从后面找到第一个0,把0之后的直接接到开头,再遍历找到最大的1,a了百分之64.顺便求一个第二题塔的思路

#京东##笔试题目##春招#
全部评论
其实不用管0的,如果判断首尾都是1连起来再遍历就好了,第二题现场没做出来,后来被别人启发用深度优先遍历可以简单ac
点赞 回复
分享
发布于 2019-04-14 01:21

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务