dalao,offer排序后多久发的签约会邮件呀
点赞 4

相关推荐

02-14 00:25
中南大学 Java
题目如图这题我觉得最好就是用对k二分来做,但是我总是过不了测试用例,牛客上的那测试用例老长一串又复制不了,有没有大佬帮我看下代码哪里有问题呀?感激不尽!!代码如下:public class Main {    public static void main(String[] args) {        Scanner in = new Scanner(System.in);        int n=in.nextInt(),m=in.nextInt();        TreeSet<Integer> set=new TreeSet<>();        in.nextLine();        String wall=in.nextLine();        for(int i=0;i<n;i++) {            if(wall.charAt(i)=='W') set.add(i);        }        if(set.ceiling(0)==null) System.out.print(0);        int left=-1,right=n+1;        while(left+1<right) {            int mid=(left+right)/2;            if(check(set,mid,m)) right=mid;            else left=mid;        }        System.out.print(right);    }    public static boolean check(TreeSet<Integer> set,int k,int m) {        int idx=set.ceiling(0);        for(int i=0;i<m;i++) {            idx+=k;            if(set.ceiling(idx)==null) return true;        }        return false;    }}
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客网
牛客企业服务