9.7贝壳笔试 后端开发

100 100 0 0,后两道题感觉能做出来,但是第二题debug半天没时间做后面的了,终究还是太菜了
有无3,4题AC代码让我学习下
第一题写了80行。。。
附上代码 AC
public class T01 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T = Integer.parseInt(sc.nextLine());
        for (int i = 0; i < T; i++) {
            String s = sc.nextLine();
            String[] temp = s.trim().split(" ");
            double left = resJ(temp,0)+resB(temp,0)+resS(temp,0);
            double right = resJ(temp,1)+resB(temp,1)+resS(temp,1);
            if(left == right)
                System.out.println("same");
            else if(left > right)
                System.out.println("left");
            else
                System.out.println("right");
        }
    }

    public static double resJ(String[] temp,int n){
        if(temp[n].equals("J")){
            if(temp[2].equals("B")){
                if(temp[3].equals("B")){
                    return 1.0;
                }else {
                    return 0.5;
                }
            }else {
                if(temp[3].equals("B")){
                    return 0.5;
                }else {
                    return 0;
                }
            }
        }
        return 0;
    }

    public static double resS(String[] temp,int n){
        if(temp[n].equals("S")){
            if(temp[2].equals("J")){
                if(temp[3].equals("J")){
                    return 1.0;
                }else {
                    return 0.5;
                }
            }else {
                if(temp[3].equals("J")){
                    return 0.5;
                }else {
                    return 0;
                }
            }
        }
        return 0;
    }

    public static double resB(String[] temp,int n){
        if(temp[n].equals("B")){
            if(temp[2].equals("S")){
                if(temp[3].equals("S")){
                    return 1.0;
                }else {
                    return 0.5;
                }
            }else {
                if(temp[3].equals("S")){
                    return 0.5;
                }else {
                    return 0;
                }
            }
        }
        return 0;
    }
}

第二题 代码 AC
public class T02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.nextLine());
        String s = sc.nextLine();
        if(n == 1) System.out.println(1);
        else {
            String ans = resCount(s,n);
            int count = n - ans.length();
            System.out.println(count);
        }
    }

    public static String resCount(String s,int n){
        String res = "";
        for (int i = 0; i <= n/2; i++) {
            String temp = s.substring(0,i);
            int j = i+1;
            if(j+i<=n){
                String temp2 = s.substring(j,j+i);
                if(temp.equals(temp2)){
                    res = temp;
                }else continue;
            }else break;
        }
        return res;
    }
}


#面经笔经##笔试题目##贝壳找房##笔经#
全部评论
第三题是球队根据大场分,小场分排序那个吗
点赞 回复 分享
发布于 2020-09-07 17:13
全部题解(https://blog.csdn.net/qq_38649940/article/details/108450650
点赞 回复 分享
发布于 2020-09-07 17:14
吐了,第二题一直在想能不能在中间插入字符,给了例子也是模棱两可的,就做后面的了,第三题dfs超时,第四题贪心过0.5
点赞 回复 分享
发布于 2020-09-07 17:31
我突然发现。。。 贝壳给的 例子太少了, 每次只给一个, 我第一题以为是 只输入2行, 第一行 次数, 第二行就是 所有的 内容
点赞 回复 分享
发布于 2020-09-07 17:35
第一题: 第二题: 第三题dfs超时了mmp,第四题没时间看
点赞 回复 分享
发布于 2020-09-07 18:12
厉害啊大佬,第二题我都想了半天,唉,好菜呀
点赞 回复 分享
发布于 2020-09-08 10:17
第三题的状态转移,能讲一下吗
点赞 回复 分享
发布于 2020-09-08 10:30

相关推荐

新记话事人:你就和她说去抖音了
点赞 评论 收藏
分享
2024-12-29 15:37
已编辑
西华大学 图像识别
程序员牛肉:去不了,大厂算法卡学历吧
点赞 评论 收藏
分享
评论
2
2
分享
牛客网
牛客企业服务