🔥 9.23 华为笔试面经 - 编程题 & 题解

alt

题目类型: 3 道编程题

考试时间: 2023-09-23 (两小时)

T1 分销粮食

粮食公司从农场收购了n吨粮食,现在需要平均分配给分销商进行销售(除不尽向下取整)。分销商数量若下,请计算分销商获得的粮食数量有几种可能。

输入

n: 粮食总量,0 < n <= 4294967295

输出

m:分销商获得的粮食数有几种可能

样例1

输入: 
5

输出:
3
分销商数量 1 2 3 4 5 6 7 ...
获得的粮食数量 5 2 1 1 1 0 0 ...

总共5吨粮食,分销商获得的粮食数量可能为5/2/1吨,3种。

样例2

输入: 
7

输出:
4
分销商数量 1 2 3 4 5 6 7 8 ...
获得的粮食数量 7 3 2 1 1 1 1 0 ...

总共7吨粮食,分销商获得的粮食数量可能为7/3/2/1吨,4种。

题解

模拟

获得的粮食数量 avg = 粮食总量 n / 分销商 k

枚举分销商数量计算出所有的获得的粮食数量的情况数,即为答案。

分类讨论:

  1. avg == n / k && avg != k 此时 获得的粮食数量 有 avg 和 k 两种可能。
  2. avg == n / k && avg == k 此时只能算一种情况。
import java.util.Scanner;

// P1
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        long n = in.nextLong();
        long cnt = 0, k = 1;

        while (true) {
            long avg = n / k;
            // 必须这样优化,不然 ac 不了
            if (avg > k) {
                cnt += 2;
            } else {
                break;
            }
            k++;
        }

        if (k == n / k) cnt++;
        System.out.println(cnt);
    }
}

T2 糖果迷宫

小华和小为在一个两行m列的糖果迷官里,迷官的每位置上都有对立的糖果数目a[i][j],他们只能向右或者向下移动。

小华和小为都将从迷宫左上方a[0][0] 位置出发,向有下角a[1][m-1]走,每到一个位置都将吃掉这个位置上的糖果。

假设小华先走,他走完后会吃掉路过的糖果,然后小为才开始走,被小华吃掉的糖果,小为就不能再吃了。

小华希望小为吃掉最少的糖果总数,然后小为也希望在小华走完后自己能吃掉更多的糖果总数。

请你帮忙计算小为最多可以吃掉多少糖果。

输入

第一行包含一个整教m(1<=m<=100000),标识迷宫的宽度。

接下来包含两行,每行包含m个整教,每一个整数a[i][j] (1 <= a[i][j] <= 10000),代表该位置的糖果教目。

吃掉更多的糖果总数

输出

输出小为最多可以吃到多少糖果。

样例1

输入:
3
1 3 7
3 5 1

输出:
7

解释:
小华吃掉 1,3,5,1 ,小为吃掉 7。

样例2

输入:
1
4
7
输出:
0

题解

枚举

枚举小华所有的吃法情况(在什么位置向下走),求那种情况下小华吃后小为吃到的糖果最少。

import java.util.Scanner;
import java.util.stream.IntStream;

// P2
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int m = in.nextInt();
        int[][] a = new int[2][m];
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < m; j++) {
                a[i][j] = in.nextInt();
            }
        }
        Solution solution = new Solution();
        System.out.println(

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

🔥笔试编程真题宝典💯 文章被收录于专栏

📕分享大厂机试真题深度剖析核心考点,助你速通面试。

全部评论

相关推荐

2024-12-27 10:21
已编辑
海南师范大学 媒介策划
到我怀里来:身高体重住址这些就别写了,留几个关键的就行,工作经历突出重点写详细点
点赞 评论 收藏
分享
评论
13
29
分享

创作者周榜

更多
牛客网
牛客企业服务