首页 > 2020-05-12 华为无线MAE产品部 暑期实习 技术面
头像
WZ6877
编辑于 2020-08-14 11:09
+ 关注

2020-05-12 华为无线MAE产品部 暑期实习 技术面

问的比较基础, 仅作分享. 后续的主管面忘了记录.

1. 自我介绍

2. 面试问题

  1. 数学建模
    详细介绍建模
    建模过程中编程怎么解决的
  2. 数据结构与算法
    常用数据结构介绍一下
    图的遍历有哪些
    图怎么用邻接矩阵表示
    算法里面的NP问题介绍一下
    贪心算法和动态规划的区别
  3. 数学问题
    数学的千禧年问题了解吗
    费马大定理是什么

3. 手撕代码

  1. 给定数组, 输出最长递减子序列 (如 6 3 5 4 7 8 可输出 3 4 7 8)
  2. 给定总时间和一些试卷的价值和所需时间, 做哪一些试卷能够价值最大(背包问题)
  3. 开放题: 无线业务中图的遍历, 开放性地询问思路

附上面试时写的第一题的代码 (力扣有类似题, 也有简单解法输出最长长度. 不过力扣没有要求输出该最长序列. 值得一做)

import java.util.Deque;
import java.util.LinkedList;
import java.util.List;

public class Test {
    public static List<Integer> func(int[] arr) {
        if (arr == null || arr.length == 0) {
            return null;
        }
        Deque<Integer> s = new LinkedList<>();
        int maxLength = 0;
        for (int num : arr) {
            while (!s.isEmpty() && num >= s.peek()) {
                s.pop();
            }
            s.push(num);
            maxLength = Math.max(maxLength, s.size());
        }
        LinkedList<Integer> l = new LinkedList<>();
        for (int num : arr) {
            while (l.size() != 0 && num >= l.getLast()) {
                l.removeLast();
            }
            l.add(num);
            if (l.size() == maxLength) {
                return l;
            }
        }
        return null;
    }

    public static void main(String[] args) {
        int[] arr = new int[]{6 3 5 4 7 8};
        // int[] arr = new int[]{9, 4, 3, 2, 5, 4, 3, 2};
        System.out.println(func(arr));
    }
}

更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐