公司真题编程题不过,进入试题广场重新提交可以通过
前请概要:
牛客新人,今天上午做了两张招行实习生的试题卷,各有一道编程题
关键剧情:
自我感觉这两道编程题难度都不高,乐呵呵写完提交,一道都没过。然后我就在试题广场(小小上传)里面一样的题目又提交了一遍,结果都通过了。
我一看,哎嘿,咋回事呢。于是又回到公司真题页面,重写没有通过的试卷,提交了别人发在评论区的代码,发现通过了。
结果:
现在我很困惑, 想请教一下大家:
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; } }
给定一个字符串,小招喵需要判断这个字符串是不是镜像回文字符串?
如果一个字符串与它的倒置字符串的每一位都是镜像对应,那么这个字符串就是镜像回文字符串。
镜像对应如下所示:
小招喵很迷茫,所以他现在要求助你帮他完成这个游戏。
如果一个字符串与它的倒置字符串的每一位都是镜像对应,那么这个字符串就是镜像回文字符串。
镜像对应如下所示:
小招喵很迷茫,所以他现在要求助你帮他完成这个游戏。
我的代码:
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"; } }