华为OD 机试 20220223 我好菜啊

更新:西列了,180及格了,但是年限不够,这个好像是走的社招,校招要320,我21届,大家加油

三道题

第一题: 
题目用数组代表每个人的权重,现在要进行组队权重大于等于N,每个队可以由1人或2人组队,且1个人只能参加1个队,计算可以派出最多的符合要求的团队
输入三行
第一行:代表数组长度
第二行:数组的元素
第三行:最小权重

示例:
5
3 1 5 7 9
8
输出:3 解释:[ 3 5 ] [ 1 7 ] [ 9 ]

我这个只通过了70%的案例
public static void helper1(int size,int[] numbers,int power) {
    ArrayList<Integer> arrayList = new ArrayList<>();
    for (int i = 0; i < size; i++) {
        arrayList.add(numbers[i]);
    }
    Collections.sort(arrayList);
    ArrayList<Integer> indexs = new ArrayList<>();
    int count = 0;
    for (int i = size-1; i > 0; i--) {

        for (int j = 0; j < i; j++) {
            if (arrayList.get(i)>=power) {
                count++;
                break;
            } else {
                if (!indexs.contains(j)) {
                    if (arrayList.get(j) + arrayList.get(i) >=power) {
                        indexs.add(j);
                        count++;
                        break;
                    }
                }
            }
        }
    }
    System.out.println(count);
}

第二题给你一个数组,让你找出数组里面 最大 N 个数和最小 N 个数相加的合,如果最大 N 个数和最小 N 个数有重复,返回-1,其他不符合条件返回-1(比如 N比数组长度还大,其他的不符合条件我想不到了)
输入三行:
第一行:代表数组大小
第二行:数组元素
第三行:代表N
示例1:
5
3 1 5 7 9
2
输出:20 解释:最大两个是7和9,最小的两个是1和3 相加等于20
示例:
5
5 1 5 5 9
2
输出:-1 解释:最大两个是5和9,最小的两个是1和5 存在相同的数返回-1
我这个只通过了90%的案例
public static void helper2(int size,int[] numbers,int n) {
    ArrayList<Integer> arrayList = new ArrayList<>();
    for (int i = 0; i < size; i++) {
        arrayList.add(numbers[i]);
    }
    Collections.sort(arrayList);

    ArrayList<Integer> buffer = new ArrayList<>();
    for (int i = 0; i < n; i++) {
        buffer.add(arrayList.get(i));
        buffer.add(arrayList.get(arrayList.size()-i-1));
    }
    HashSet<Integer> set = new HashSet<>(buffer);
    if (set.size() != buffer.size()) {
        System.out.println(-1);
    } else {
        int result = 0;
        for (int i = 0; i < buffer.size(); i++) {
            result+=buffer.get(i);
        }
        System.out.println(result);
    }
}

第三题:没时间写了,让你实现(add 5 2)(div 2 5)四则运算,操作符号后面可以接多个括号 如(add 5 (div 2 5)



😢#华为od##华为##笔经#
全部评论
第二题要判断下 N和数组的大小,忘了改了
点赞 回复 分享
发布于 2022-02-24 16:11
第三题的思路应该是和那个leetcode计算器差不多的吧,先转逆波兰表达式,再用栈进行计算
1 回复 分享
发布于 2022-02-24 17:13
楼主很棒,借楼打个广告(非华为OD) [太阳]2022届华为春招开始啦‼️ 【春招岗位】数字化IT应用工程师(含网络安全工程师、软件开发工程师、算法工程师、AI工程师等) 【工作地点】华为深圳总部 【岗位要求】 满足以下任一项即可投递简历 1. 熟悉主流语言(C/C++/Java/C#/Python/PHP/Shell等) 2. 了解企业信息系统架构、运作和管理 3. 了解云计算AWS、Open Stack、Docker等 4. 熟悉常用数据挖掘算法及应用场景 5. 掌握Oracle数据库,Android/IOS平台等语言,熟悉J2EE体系架构等 【简历投递】https://career.huawei.com/ --校园招聘 – 关键字搜“数字化IT应用工程师” 具体详情可查看下方招聘简章 春招高峰期,越早投递,越早面试,机会更多 有兴趣的学弟学妹们可以加我了解具体的部门信息和岗位信息哦[转圈]
1 回复 分享
发布于 2022-02-25 16:24
我明天也要考了,中软国际3个月试用期还没到就推荐我来试试这个😂
1 回复 分享
发布于 2022-02-25 22:31
你是面试的开发 还是 测试岗位
1 回复 分享
发布于 2022-02-25 22:39
第一题,i要大于等于0,而不只是大于0
1 回复 分享
发布于 2022-03-09 21:30
怎么知道自己的分数啊?
1 回复 分享
发布于 2022-03-25 18:35
第一题组合问题,回溯求出组合后判断是否满足条件即可。 第二题 2N <= Len,先排序再截取即可。 第三题 堆栈即可,类似逆波兰式,但比四则运算要简单很多。
1 回复 分享
发布于 2022-06-14 21:22
第一题的Java代码,贪心 + 双指针,先排序,优先单人参加,然后在剩的人里 左右双指针对撞 依次按“最小+最大”选两人参加,参加了就移动指针,参加不了就移动小的左指针 static int f(int[] nums, int N) {         int cnt =0;         Arrays.sort(nums);         int r = nums.length - 1;         for (; r >= 0; r--) {             if (nums[r] >= N) {                 cnt++;             } else {                 break;             }         }         int l = 0;         while (l < r) {             if (nums[l] + nums[r] >= N) {                 cnt++;                 l++;                 r--;             } else {                 l++;             }         }         return cnt;     }
3 回复 分享
发布于 2022-03-09 20:42
第一个感觉排序+贪心+双指针就行
2 回复 分享
发布于 2022-04-02 15:49
第一题如何解
点赞 回复 分享
发布于 2022-02-24 18:16
这个是多长时间三道题
点赞 回复 分享
发布于 2022-02-24 21:43
od是什么意思啊
点赞 回复 分享
发布于 2022-02-24 21:53
这也可以了 笔试150就过了
点赞 回复 分享
发布于 2022-02-25 11:24
华为od岗位,中间件岗位,想真正搞技术的软件开发工程师,欢迎联系和推荐,工作地点:深圳南京苏州杭州等多个城市。
点赞 回复 分享
发布于 2022-02-25 11:30
需要提前在网上多做一下题
点赞 回复 分享
发布于 2022-02-25 14:38
感谢分享!借楼招聘😁😁华为武汉OD岗位,软件开发,欢迎咨询😃
点赞 回复 分享
发布于 2022-02-25 16:40
面的春招吗?
点赞 回复 分享
发布于 2022-02-26 18:12
第三题在力扣是hard的吧,我见过
点赞 回复 分享
发布于 2022-02-28 08:52
理想汽车内部专属内推 https://app.mokahr.com/m/campus_apply/chehejia/40949?recommendCode=DSSCgruY#/jobs
点赞 回复 分享
发布于 2022-02-28 17:01

相关推荐

不愿透露姓名的神秘牛友
10-15 14:22
点赞 评论 收藏
分享
我见java多妩媚:大外包
点赞 评论 收藏
分享
评论
23
128
分享
牛客网
牛客企业服务