快手笔试第一题

这样为什么是 0% 呀!

import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int m = Integer.parseInt(scanner.nextLine());
        while (--m >= 0) {
            String s = scanner.nextLine();
            String[] str = s.split(" ");
            String[] s1 = str[0].split("\\.");
            String[] s2 = str[1].split("\\.");
            long x;
            if (s1.length == 1) {
                x = Long.parseLong(s1[0]);
            } else {
                x = help(s1);
            }
            long y;
            if (s2.length == 1) {
                y = Long.parseLong(s2[0]);
            } else {
                y = help(s2);
            }
            if (x < y) {
                System.out.println(true);
            } else {
                System.out.println(false);
            }
        }
    }

    public static long help(String[] c1) {
        int[] nums = new int[c1.length];
        for (int i = 0; i < c1.length; ++i) {
            if (i == 0) {
                while (i < c1.length && Integer.parseInt(c1[i]) == 0) {
                    i++;
                }
                if (i == c1.length) {
                    break;
                }
            }
            nums[i] = Integer.parseInt(c1[i]);
        }
        StringBuilder sb = new StringBuilder();
        for (int i = nums.length - 1; i >= 0; --i) {
            if (i == nums.length - 1) {
                while (i >= 0 && nums[i] == 0) {
                    i--;
                }
                if (i < 0) {
                    break;
                }
            }
            sb.append(nums[i]);
        }
        String res = sb.toString();
        long x;
        try {
            x = Long.parseLong(res);
        } catch (Exception e) {
            return 0;
        }
        return x;
    }
}


#快手##笔试题目##秋招#
全部评论
LeetCode165 https://blog.csdn.net/weixin_40550726/article/details/82909342
点赞 回复 分享
发布于 2019-08-25 18:41
同0,本地花样测,提交一点测试用例都过不了?真不信。
点赞 回复 分享
发布于 2019-08-25 18:39
else if (x > y) {     ..... } 再加这个判断就行了
点赞 回复 分享
发布于 2019-08-25 22:31
我过了 🙄
点赞 回复 分享
发布于 2019-08-25 20:30
同0,本地能过。。。浪费了我几十分钟时间。凉
点赞 回复 分享
发布于 2019-08-25 20:28
同问!!!我也是0,枯了,测试用例两个都没问题
点赞 回复 分享
发布于 2019-08-25 19:07
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class Question_1 { public static void main(String[] args) throws NumberFormatException, IOException { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int m = Integer.parseInt(br.readLine()); List<String[]> list = new ArrayList(); for (int i = 0; i < m; i++) { String[] str = br.readLine().split(" "); list.add(str); } for (int i = 0; i < list.size(); i++) { String[] str = list.get(i); String[] str1 = str[0].split("\\."); int[] arr1 = new int[str1.length]; for (int j = 0; j < str1.length; j++) { arr1[j] = Integer.parseInt(str1[j]); } String[] str2 = str[1].split("\\."); int[] arr2 = new int[str2.length]; for (int j = 0; j < str2.length; j++) { arr2[j] = Integer.parseInt(str2[j]); } System.out.println(com(arr1, arr2)); } } public static boolean com(int[] arr1, int[] arr2) { int len = Math.max(arr1.length, arr2.length); int[] temp1 = new int[len]; int[] temp2 = new int[len]; for (int i = 0; i < arr1.length; i++) temp1[i] = arr1[i]; for (int i = 0; i < arr2.length; i++) temp2[i] = arr2[i]; boolean flag = false; for (int i = 0; i < temp1.length; i++) { if (temp1[i] > temp2[i]) { flag = false; break; } else if (temp1[i] < temp2[i]) { flag = true; break; } else continue; } return flag; } } //还有一个情况要记住,就是版本号相同也要输出false,不升级
点赞 回复 分享
发布于 2019-08-25 19:07
会不会是输出的问题?
点赞 回复 分享
发布于 2019-08-25 18:53
#include<iostream> #include<string> #include<cstdio> #include<algorithm> using namespace std; int main() {     int n;     char A[10010],B[10010];     scanf("%d",&n);     while(n--)     {         scanf("%s%s",A,B);         int len_a=strlen(A);         int len_b=strlen(B);         int num_1[4];         int num_2[4];         for(int i=0;i<4;++i)         {             num_1[i]=0;             num_2[i]=0;         }         int ctor=0;         for(int i=0;i<len_a;++i)         {             if(A[i]=='.')             {                 ctor++;             }             else             {                 num_1[ctor]=num_1[ctor]*10+A[i]-'0';             }         }         ctor=0;         for(int i=0;i<len_b;++i)         {             if(B[i]=='.')             {                 ctor++;             }             else             {                 num_2[ctor]=num_2[ctor]*10+B[i]-'0';             }         }         int flag=0;         for(int i=0;i<4;++i)         {             if(num_1[i]<num_2[i])             {                 flag=1;                 break;             }         }         if(flag)             printf("true\n");         else             printf("false\n");     }     return 0; } //1 //1 1.0.0.2 为啥我的也是 0% ,哪里有问题?
点赞 回复 分享
发布于 2019-08-25 18:43

相关推荐

我:“加班需要有加班工资。”&nbsp;hr:“为什么?”&nbsp;哈哈哈哈哈哈哈离大谱
juntenor:你确实太理想化了,对社会不了解呀。这个和HR没有关系,这是国内特色,不然怎么还会有外包就这种逆天的存在呢。
点赞 评论 收藏
分享
06-13 17:33
门头沟学院 Java
顺序不记了,大致顺序是这样的,有的相同知识点写分开了1.基本数据类型2.基本数据类型和包装类型的区别3.==和equals区别4.ArrayList与LinkedList区别5.hashmap底层原理,put操作时会发生什么6.说出几种树型数据结构7.B树和B+树区别8.jvm加载类机制9.线程池核心参数10.创建线程池的几种方式11.callable与runnable区别12.线程池怎么回收线程13.redis三剑客14.布隆过滤器原理,不要背八股,说说真正使用时遇到了问题没有(我说没有,不知道该怎么回答了)15.堆的内存结构16.自己在写项目时有没有遇见过oom,如何处理,不要背八股,根据真实经验,我说不会17.redis死锁怎么办,watchdog机制如何发现是否锁过期18.如何避免redis红锁19.一个表性别与年龄如何加索引20.自己的项目的QPS怎么测的,有没有真正遇到大数量表21.说一说泛型22.springboot自动装配原理23.springmvc与springboot区别24.aop使用过嘛?动态代理与静态代理区别25.spring循环依赖怎么解决26.你说用过es,es如何分片,怎么存的数据,1000万条数据怎么写入库中27.你说用limit,那么在数据量大之后,如何优化28.rabbitmq如何批次发送,批量读取,答了延迟队列和线程池,都不对29.计网知不知道smtp协议,不知道写了对不对,完全听懵了30.springcloud知道嘛?只是了解反问1.做什么的?短信服务,信息量能到千万级2.对我的建议,基础不错,但是不要只背八股,多去实际开发中理解。面试官人不错,虽然没露脸,但是中间会引导我回答问题,不会的也只是说对我要求没那么高。面完问我在济宁生活有没有困难,最快什么时候到,让人事给我聊薪资了。下午人事打电话,问我27届的会不会跑路,还在想办法如何使我不跑路,不想扣我薪资等。之后我再联系吧,还挺想去的😭,我真不跑路哥😢附一张河科大幽默大专图,科大就是大专罢了
查看30道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务