快手java A卷 前两道通过率一直0...啥情况

如题#快手##Java#
全部评论
同一直0 都快被第一题逼疯了
点赞 回复
分享
发布于 2019-08-25 18:34
+1,第一题麻痹那个『.』是不能直接 split(".")的,是要split("\\.")。花了我n时间,最后还是0case
点赞 回复
分享
发布于 2019-08-25 18:40
英特尔
校招火热招聘中
官网直投
我也是,我本地跑了十几个测试用例都通过了的
点赞 回复
分享
发布于 2019-08-25 18:34
自己case全都能过,一放上去就不行,醉了,还是现场面好
点赞 回复
分享
发布于 2019-08-25 18:51
c++ 同样情况,调到心态都要崩了还是找不到
点赞 回复
分享
发布于 2019-08-25 18:59
凉凉的情况吧
点赞 回复
分享
发布于 2019-08-25 19:04
同样,当时就炸了
点赞 回复
分享
发布于 2019-08-25 19:06
一起debug吧? package 快手; import java.util.Scanner; public class A {     public static void main(String[] args) {         Scanner in = new Scanner(System.in);         int m = Integer.valueOf(in.nextLine());         for(int k = 0;k < m;k++){             String[] s = in.nextLine().split(" ");             String s1 = s[0];             String s2 = s[1];             int len1 = s1.length();             int len2 = s2.length();             int i = 0,j = 0;             boolean flag = false;             int prei = 0,prej = 0;             while(i < len1 && j < len2){                 while(i < len1 && s1.charAt(i) != '.')                     i++;                 while(j < len2 && s2.charAt(j) != '.')                     j++;                 Integer sub1 = Integer.valueOf(s1.substring(prei,i));                 Integer sub2 = Integer.valueOf(s2.substring(prej,j));                 prei = i+1;                 prej = j+1;                 if(sub1 != sub2){                     if(sub1 < sub2)                         flag = true;                     else                         flag = false;                     break;                 }else{                     i = prei;                     j = prej;                 }             }             //如果前面一直相等,那么不管s1是否剩余,不可能满足             //只有前面相等但s2有余时需要判断             while(j < len2){                 if(s2.charAt(j) != '0' && s2.charAt(j) != '.'){                     flag = true;                     break;                 }                 j++;             }             if(flag)                 System.out.println(true);             else                 System.out.println(false);         }     } }
点赞 回复
分享
发布于 2019-08-25 19:07
版本号的我本地测试没问题,但是提交就是0
点赞 回复
分享
发布于 2019-08-25 20:26
这样是可以通过的 第一题: def is_up():     arr = input().split(' ')     v1 = list(map(int, arr[0].split('.')))     v2 = list(map(int, arr[1].split('.')))     len_v1 = len(v1)     len_v2 = len(v2)     min_len = min(len_v1, len_v2)     to_up = False     for k in range(min_len):         if v1[k] < v2[k]:             to_up = True             rs.append('true')             return         elif v1[k] > v2[k]:             rs.append('false')             return     s1 = '0'     if len_v1 < len_v2:         for n1 in v2[min_len:]:             s1 += str(n1)     s1_num = float(s1)     if s1_num > 0:         to_up = True     if to_up:         rs.append("true")     else:         rs.append("false") m = int(input()) rs = [] for i in range(m):     is_up() for i in rs:     print(i) 第二题: def f(arr):     set_num = set()     sum = 0     while len(arr) > 0:         temp = arr.pop()         sum += temp ** 2     if sum in set_num:         result.append('false')         return     else:         set_num.add(sum)     if sum != 1:         for k in str(sum):             arr.append(int(k))         f(arr)     else:         result.append('true')         return def check():     s = input()     arr = []     if s == '1':         result.append('true')         return     for i in s:         arr.append(int(i))     f(arr) m = int(input()) result = [] for i in range(m):     check() for r in result:     print(r)
点赞 回复
分享
发布于 2019-08-25 20:29

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务