华为OD机考总结概览--持续更新中
🙂 后端开发、前端开发、测试、大数据、架构、设计等众多OD岗位持续招聘,欢迎私聊~
1. 注意事项
一定要仔细看一看: 关于华为OD机考的注意事项
关键点再重申一下:
- 考试时,可以用本地的IDE编写代码,然后再复制到机考页面提交,因此本地不管用什么编辑器,一定要开启代码自动联想功能,这样一些常用的API即使忘了也没关系,记住工具包名有时会给你很好的联想出来;
- 机考是ACM模式,即自己写输入输出,这个如果之前一直是在力扣练习的话,一定要提前熟悉一下,把标准的输入输出掌握,这个是比较好掌握的,但是如果不练习是很难搞定的,如果因为这个挂掉就太可惜了,这个后面也会有专门的指导;
-
考试时摄像头不要断,手机充好电,扫完码放一边,点击"点击确认是否参加考试"前,就把没用的网页都关掉,考试过程中也不要打开其他网页否则判为作弊(有同学在开考前百度了一下,如何处理字符串,结果被判作弊了,很冤枉);
2. 最高"性价比"拿分
这是机考练习题题库,需要充分练习。真题难度相当于leetcode上面2道简单(各100分),1道中等的难度(200分)。相当于牛客网各一道简单,中等,困难的难度。需要最低考150分(但是这个分数是及格线,要有把握通过面试,机考争取要考300分以上),尽量多拿分。建议在leetcode练习,然后再在牛客网熟悉一下输入输出的写法和答题风格,机考链接是用的牛客网
2. 机考是取三道题的总分,用例通过率*题目分数, 不一定要完全做对,因此如果遇到不能全部用例通过并且还想不到问题场景的时候,不要一直死磕,继续做其他题,不要出现等时间没了答案还没提交的情况。
3. 能用现成的工具方法就用,不要自己去实现,像常用的排序、进制转换等java都是有工具类可用的;
4. 不会复杂的算法怎么办?熟练掌握数组、链表、哈希表、队列数据结构以及常用的函数,使用暴力破解
3. 基本功
3.1 高阶数据结构
选对了数据结构,离成功就不远了O(∩_∩)O 除了最基本的数组、List、HashMap,还有些比较好用的数据结构
LinkedList: 具有先进先出的特性,把它抽象成一个管道,先进来的在前面,可以先被取走进行处理,在广度优先搜索中,常用来存后续节点;
ArrayDeque:常被当做Stack使用,性能高于Stack,同时具备先进先出和后进先出的特性,可以只在需要后进先出时使用它,把它抽象成一个桶,先进来的被压在下面,后进来的在上面,因此处理时要先处理后进来的。在深度优先搜索中,常用来存后续节点。
PriorityQueue:优先队列,即里面存放的数据一定是有序的,通过在构造函数中传入自动以的Comparator可以实现大顶堆或小顶堆。
3.2 排序