• 腾讯2019正式批春笔试题


    A:题目描述:

      数字拆分:

       一个数字有两种拆法,1 对所有数字减一 2 把所有数字都拆分成两个更小的数之和,问之多拆分n次,把N完全消去需要多少轮操作。

    输入取值范围: 1<= N <=100,  0<=K<=100

    样例: 输入 5 2 ,输出 4。 输入15 4,输出 6

    定义dp[i][j]为将i之多拆分j次所有的轮数,dp[i][j] = min(dp[i-1][j-1], dp[(i+1)/2][j-1]) + 1 , dp[i-1][j] 代表这次不拆分,减去1, dp[(i+1)/2][j-1] 代表这次进行拆分,拆分成两个中位数,那么较大的数的所需操作肯定大于较小的中位数的所需的操作。

    public class MaIn {
        public static  void main(String[] args){
            Scanner in = new Scanner(System.in);
            String[] input = in.nextLine().split(" ");
            int n, m;
            n = Integer.parseInt(input[0]);
            m = Integer.parseInt(input[1]);
    //        dp[1][0~100]=1;
            if(m==0){
                System.out.print(n);
                return;
            }
            int[][] dp = new int[105][105];
            for(int i=0;i<=100;i++){
                dp[i][0] = i;
            }
            for(int i=0;i<=100;i++){
                dp[1][i] = 1;
            }
            for(int i=1;i<=n;i++){
               for(int j=1;j<=m;j++){
                     dp[i][j]=Math.min(dp[i-1][j],dp[(i+1)/2][j-1])+1;
               }
            }
            System.out.print(dp[n][m]);
        }
    }
    View Code

    B:题目描述: 有n个村庄,每个村庄有A[i]个水果,A[i] >0 代表 村庄需要购进水果, A[i] < 0 代表村庄需要卖出水果。 所有村庄供需平衡,即A[i]求和为0,把k个水果搬到相邻村庄需要k块钱的运费,

    最少需要多少花费可以满足所有村庄对水果的需求。

    输入取值范围: 2 <= n <= 300000, -1000 <= A[i] <= 1000

    考虑n个村庄和为0,那么不管前缀和为正或者负,它肯定需要在后面被加起来,那么每次都加上前缀和的绝对值,就代表了它需要被转移的代价。

    输入 5 -4 1 -3 1  答案就为 5 + 1 + 2 +1 + 0 = 9

    C: 题目描述: 对与长度为n的数组,做如下k次操作,找出数组中最小的数x,输出,所有数字减去x,如果数组中的数字全是0,直接输出0

    思路: 先排序,再减去x,每次都会消去一个数字,做k次即可。

  • 相关阅读:
    使用docker部署zabbix
    进入容器脚本
    Docker安装
    docker命令总结
    zbb20180827 Spring中ClassPathXmlApplicationContext类的简单使用,main方法加载application.xml文件
    zbb20180824 spring ioc aop 例子
    tomcat运行报错Failed to start component [StandardEngine[Catalina].StandardHost[localhost].
    zbb20180815 网盘搜索引擎
    Java字节码指令收集大全
    zbb20180716 SpringBoot 使用feign时报错Service id not legal hostname
  • 原文地址:https://www.cnblogs.com/xianbin7/p/10669510.html
Copyright © 2020-2023  润新知