大疆 客户端开发 笔经(已凉)

2020.08.16 晚上 笔试 2h

1)于是他想到一个计划,他先将每个游戏标上一个成就值,同时对每个游戏都估算一个通关所需要的天数,他计划在未来X天内让自己玩游戏的成就达到最大,那么他应该怎么做计划呢?(假设每个游戏最多只计划玩一遍,而且每个游戏必须玩完通关才能取得成就值,且通关每个游戏最小时间单位是1天)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int x = sc.nextInt();
        int[] a = new int[n];
        int[] b = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = sc.nextInt();
            b[i] = sc.nextInt();
        }

        int[][] dp = new int[n + 1][x + 1];
        for (int i = 0; i < n; i++) {
            for (int j = 1; j <= x; j++) {
                if(j >= b[i]) {
                    dp[i + 1][j] = Math.max(dp[i][j], dp[i][j - b[i]] + a[i]);
                } else {
                    dp[i + 1][j] = dp[i][j];
                }
            }
        }

        System.out.println(dp[n][x]);
    }
}


2)题目是这样的:给定一个非负的、字符串形式的整形数字,例如"12353789",字符串的长度也就是整形数字的位数不超过10000位,并且字符串不会以0开头,小C需要挑选出其中K个数字(K小于字符串的长度)并删掉他们,使得剩余字符组成新的整数是最小的。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        int k = sc.nextInt();

        System.out.println(new Main().deleteKNums(s, k));
    }

    public String deleteKNums (String s, int k) {
        StringBuilder sb = new StringBuilder();
        int n = s.length();
        char[] chars = new char[n];
        int cnt = 0;
        for (int i = 0; i < n; i++) {
            while (k > 0 && cnt > 0 && s.charAt(i) < chars[cnt - 1]) {
                k--;
                cnt--;
            }
            chars[cnt++] = s.charAt(i);
        }

        int idx = 0;
        while (idx < cnt && chars[idx] == '0') {
            idx++;
        }

        if(idx == cnt) {
            return "0";
        }

        while(idx < cnt) {
            sb.append(chars[idx++]);
        }

        return sb.toString();
    }
}


第一题没做,第二题100%,第三题82%
#大疆##校招##笔经##Android#
全部评论
笔试做到什么程度能进面试啊?呜呜呜做出来两道也凉了吗
点赞 回复 分享
发布于 2023-08-06 14:06 辽宁

相关推荐

10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
点赞 评论 收藏
分享
1 8 评论
分享
牛客网
牛客企业服务