公司真题编程题不过,进入试题广场重新提交可以通过

前请概要:
牛客新人,今天上午做了两张招行实习生的试题卷,各有一道编程题
关键剧情:
自我感觉这两道编程题难度都不高,乐呵呵写完提交,一道都没过。然后我就在试题广场(小小上传)里面一样的题目又提交了一遍,结果都通过了。
我一看,哎嘿,咋回事呢。于是又回到公司真题页面,重写没有通过的试卷,提交了别人发在评论区的代码,发现通过了。
结果:
现在我很困惑, 想请教一下大家:
1. 试题广场里面的题目和公司真题里面的测试用例会不同吗?
2. 对比别人代码后,感觉自己的逻辑没问题,而且判卷结果上内存和运行时间都没有超出,但是结果不通过,所以是不是还是我自己逻辑有问题(需要牛友们告诉我真相!!!呜呜)
谢谢大家的解惑啦
下方附上我的代码,如果不想看,大家可以就给我支支招,我自己去试就好啦~~

编程题1:
在衣柜抽屉中杂乱无章地放着\mathit nn种不同颜色的袜子,其中第\mathit ii种颜色的袜子有a_iai只。小招喵现在正着急去参加一场宴会,但是小招喵是一个色盲,所以无法分辨自己将要穿的袜子是不是同一颜色的,因此他随手抓了一把袜子,打算带到牛牛家让牛牛帮忙。
现在的问题是,最少要从抽屉中取出多少只袜子才能保证其中一定有两只可以配成颜色相同的一双?

我的代码:
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        Main m = new Main();
        for(int i=0;i<n;i++){
            int numsLength = in.nextInt();
            int zeros = 0;
            int bigger1 = 0;
            for(int j=0;j<numsLength;j++){
                int tmp = in.nextInt();
                if(tmp == 0)zeros++;
                if(tmp>1)bigger1++;
            }
            System.out.println(m.minimizeNum(numsLength, zeros, bigger1));
        }
    }
    
    public int minimizeNum(int numsLength, int zeros, int bigger1){
        return bigger1<1?-1:numsLength - zeros+1;
    }
}

编程题2:
给定一个字符串,小招喵需要判断这个字符串是不是镜像回文字符串?
如果一个字符串与它的倒置字符串的每一位都是镜像对应,那么这个字符串就是镜像回文字符串。
镜像对应如下所示:





小招喵很迷茫,所以他现在要求助你帮他完成这个游戏。
我的代码:
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        Main m = new Main();
        int n = Integer.parseInt(in.nextLine());
        for(int i=0;i<n;i++){
            String s = in.nextLine();
            System.out.println(m.mirrorString(s));
        }
    }

    String mirrorString(String s){
        int len = s.length();
        for(int i=0;i<len/2;i++){
            int tmp1 = s.charAt(i) - '0';
            int tmp2 = s.charAt(len-i-1) - '0';
            if(tmp1 == 1 && tmp2 == 1) continue;
            else if(tmp1 == 2 && tmp2 == 5 || tmp2 == 2 && tmp1 == 5) continue;
            else if(tmp1 == 3 && tmp2 == 8 || tmp2 == 3 && tmp1 == 8) continue;
            else if(tmp1 == 4 && tmp2 == 7 || tmp2 == 4 && tmp1 == 7) continue;
            else if(tmp1 == 6 && tmp2 == 9 || tmp2 == 6 && tmp1 == 9) continue;
            else return "NO";
        }
        if(len%2 == 1 && s.charAt(len/2) != '1')return "NO";
        return "YES";
    }
}


                
#笔试刷题##笔试题目##畅聊天下#
全部评论
我知道原因了,因为公司真题里面我没有点提交运行,只做了自测调试,通过自测调试后,我直接点交卷。牛客就认为我什么都没写,所以给我判错 正确的流程是: 写了代码之后->自测调试->一定一定要点提交运行->交卷,这样牛客才能知道你提交了代码 牛客产品经理出来“挨打”,调了我两个小时的时间😫
3 回复 分享
发布于 2022-04-28 13:14

相关推荐

10-30 22:18
已编辑
毛坦厂中学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务