10.22 58同城笔试题

第一题

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main2 {
    public static void main(String[] args) throws IOException {
        BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
        String[] str = buf.readLine().split(",");
        int a = 1, n;
        int count = 0;
        int sum = 0;
        boolean isEnd = false;
        for (n = 1; n <= 16; n++) {
            if (n > 1) {
                a = a * 3;
            }
            if (isEnd) {
                break;
            }
            for (int i = count; i < ((a + count) < str.length ? a + count : str.length); i++) {
                if (n %2 != 0) {
                    if (!str[i].equals("None")) {
                        sum += Integer.parseInt(str[i]);
                    }
                }
            }
            count += a;
            if (count >= str.length) {
                isEnd = true;
            }
        }
        System.out.println(sum);
    }
}

第二题

import java.util.Scanner;

public class Main1 {
    public static void main(String[] args) {
        Scanner s1 = new Scanner(System.in);
        int n = s1.nextInt();
        int[] nums = new int[n];
        for (int i = 0; i < n; i++) {
            nums[i] = s1.nextInt();
        }
        System.out.println(isTrue(nums));

    }
    public static int isTrue(int[] nums) {
        int sum = 0;
        for (int num : nums) {
            sum += num;
        }
        if (sum % 2 != 0) {
            return 0;
        }
        int amount = sum / 2;
        int[] dp = new int[amount + 1];
        for (int i = 0; i < nums.length; i++) {
            for (int j = amount; j >= nums[i]; j--) {
                dp[j] = Math.max(dp[j], dp[j - nums[i]] + nums[i]);
            }
        }
        if (dp[amount] == sum / 2) {
            return amount;
        } else {
            return 0;
        }
    }

}

第三题

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner s1 = new Scanner(System.in);
        int n = s1.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = s1.nextInt();
        }
        if (n == 1) {
            System.out.println(arr[0]);;
        } else {
            int[] dp = new int[n];
            dp[0] = arr[0];
            dp[1] = Math.max(arr[0], arr[1]);
            for (int i = 2; i < n; i++) {
                dp[i] = Math.max(dp[i - 1], dp[i - 2] + arr[i]);
            }
            System.out.println(dp[n - 1]);
        }


    }
}

#校招##笔试##58集团##58同城##java#
全部评论
笔试只能三道编程题吗?
点赞 回复 分享
发布于 2022-11-01 20:57 广西
lz收到面试了吗
点赞 回复 分享
发布于 2022-10-29 19:06 黑龙江
请问什么时候投递的哈。我18号投递的,还没有笔试通知
点赞 回复 分享
发布于 2022-10-25 16:02 江苏

相关推荐

03-27 20:14
前端工程师
投票
Spring启动:我在一嗨呆过,这么说吧 神仙单位,除了工资不怎么好 剩下的基本上天花板了,上班下班跟公务员似的,一天工作7个点,提供宿舍,宿舍离公司1km, 项目不着急,一般来说1天的活,你要个4天没人管你,我一天上班4个点在微信上跟别人聊天😂 去那边老自在了 但是也有可能是 我们组比较好
点赞 评论 收藏
分享
野猪不是猪🐗:现在的环境就是这样,供远大于求。 以前卡学历,现在最高学历不够卡了,还要卡第一学历。 还是不够筛,于是还要求得有实习、不能有gap等等... 可能这个岗位总共就一个hc,筛到最后还是有十几个人满足这些要求。他们都非常优秀,各方面都很棒。 那没办法了,看那个顺眼选哪个呗。 很残酷,也很现实
点赞 评论 收藏
分享
评论
点赞
5
分享

创作者周榜

更多
牛客网
牛客企业服务