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-21 10:42
已编辑
江西软件职业技术大学 Java
新宿站不停:该提升学历就提升学历,菜了就多练。没事找牛马公司虐自己是吧? 谁没事说自己“经验少”,这不自己把自己塞剎鼻hr嘴里找🐴吗
点赞 评论 收藏
分享
2024-12-21 18:48
西安邮电大学 C++
黑皮白袜臭脚体育生:按使用了什么技术解决了什么问题,优化了什么性能指标来写会更好另外宣传下自己的开源仿b站微服务项目,GitHub已经390star,牛客上有完整文档教程
点赞 评论 收藏
分享
今天 11:51
已编辑
门头沟学院 FPGA工程师
华为 ict计算硬件工程师 薪资13a
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客企业服务