Keep笔试题

第一道:两个字符串中的唯一不同字符,典型的异或计算题,两个相同的值异或等于0
 private static char solve(String input1, String input2){
        long result = 0;
        for (int i = 0; i < input1.length(); i++){
            result ^= input1.charAt(i);
        }
        for (int i = 0; i < input2.length(); i++){
            result ^= input2.charAt(i);
        }
        return (char) result;
    }


第二道:健身房,动态规划,主要是Arrays.fill()的使用
    private static int solve(int[] trainingDays, int[] costs){
        int[] dp = new int[365];
        int minCost = 0, lastDay = 0;
        for (int trainingDay: trainingDays){
            Arrays.fill(dp, lastDay, trainingDay, minCost);
            lastDay = trainingDay;
            minCost = getMinCost(dp, costs, trainingDay);
        }
        return minCost;
    }

    private static int getMinCost(int[] dp, int[] costs, int day){
        int oneDayTicket = (day - 1 >= 0? dp[day - 1]: 0) + costs[0];
        int sevenDayTicket = (day - 7 >= 0? dp[day - 7]: 0) + costs[1];
        int thirtyDayTicket = (day - 30 >= 0? dp[day - 30]: 0) + costs[2];
        return Math.min(oneDayTicket, Math.min(sevenDayTicket, thirtyDayTicket));
    }



第三道:密码是否符合要求,很基础的字符串题,主要在于输入的部分,用nextInt()读取了用例行数之后,需要用nextLine()换到下一行,然后再进循环,否则会把第一行的行数当做第一个数据,最后一个数据也漏了。
    private static boolean solve(String input) {
        if (input.length() < 8 || Character.isDigit(input.charAt(0))) {
            return false;
        }

        int[] count = new int[]{0, 0, 0};
        for (int i = 0; i < input.length(); i++) {
            char c = input.charAt(i);
            if (!Character.isLetterOrDigit(c)){
                return false;
            }
            if (Character.isUpperCase(c)){
                count[0] = 1;
            } else if (Character.isLowerCase(c)){
                count[1] = 1;
            } else {
                count[2] = 1;
            }
        }
        return count[0] + count[1] + count[2] > 1;
    }
#Keep##笔试题目##Java工程师#
全部评论
你这样的,我就很欣赏了,有些笔试都没结束就各种求答案,发答案。😢不怕被别人抄了,莫名被判作弊吗?
点赞 回复
分享
发布于 2019-09-07 16:37
楼主真大神,求问第二题啊,没点思路😥😥😥
点赞 回复
分享
发布于 2019-09-07 16:48
小红书
校招火热招聘中
官网直投
A了2.8/3.0
点赞 回复
分享
发布于 2019-09-07 17:32
交卷了,可是第二个没思路
点赞 回复
分享
发布于 2019-09-07 17:19
就想知道最小二乘的输入是怎么搞的
点赞 回复
分享
发布于 2019-09-07 17:34
楼主你可以发答案了😢
点赞 回复
分享
发布于 2019-09-07 17:48
请问第二题的题目是什么啊
点赞 回复
分享
发布于 2022-08-30 16:05 辽宁

相关推荐

5 22 评论
分享
牛客网
牛客企业服务