华为OD机考攻略

机考介绍
1. 机考为三道算法题目,难度为 2 道简单, 1 道中等,需要自己处理输入输出,分值为 100 分、 100 分、
200 分。总分 400 分,平台在牛客。
2. 摄像头一定要开,避免离开座位,左右晃头,以免系统误判作弊。
3. 考试过程须控制好做题节奏,切记不要在一道题目上花费过多的时间,合理分配时间。
刷题建议
1. 遇到不会的题怎么办?
万事开头难,好在算法的比我们之前做的数学题死板多了。一开始遇到题目不会是非常非常常见
的,我建议遇到不会的题目或者自己想了半天还没有思路的题目,这么做:
1. 直接看评论区答案 (牛客按照热度降序, LeetCode 按照点赞数降序,注意 LeetCode 有时候官
方题解非常绕,可以优先看非官方的)。争取记住看答案后就明白这么做的原因然后背住大
概的思路。
2. 第二天按照自己的记忆和理解再刷一遍这个题。
3. 第五天再刷一次。
就是说按照遗忘曲线的规律来刷题,并且整理套路(套路可以看评论区的高票答案)。我觉得刷
题不仅在多,而且还要让我们刷的每一个题目有价值。其实刷题多了就会发现大多数题目套路都
是一致的。
2. 题目都有好多解法,怎么办?
对于让人眼前一亮,属于奇技淫巧,我强烈建议记下来学习一波。大多数情况下可以参考下面题
型汇总,对于题型汇总中的高权重题型,建议掌握下这个方法,非高频的以后再说。
3. 牛客还是 LeetCode
两个平台在我看来都可以,但是考虑到最终机考在牛客,如果平时比较习惯刷 LeetCode ,一定要在 牛客上下面的高频考题都刷几题,熟悉输入输出。下面附上刷题链接。
牛客
https://www.nowcoder.com/exam/oj?tab=%E7%AE%97%E6%B3%95%E7%AF%87&topicId
=196&page=1
可以根据知识点来过滤题型
牛客 - 华为考题
https://www.nowcoder.com/ta/huawei
LeetCode
https://leetcode-cn.com/problemset/all/
可以根据标签来过滤题型
4. 要不要写输入输出?
答案是 要的 。虽然现在很多牛客的题目没要求构造输入输出(牛客叫核心代码模式),但是实际
考试还是需要的(牛客叫 ACM 模式),平时刷题需要注意区分,多刷需要自己构造的。尤其是二叉
树之类的题目,输入输出构造会比较花时间,练习的时候多留意输入输出构造,机试可以节省很
多时间。
5. 实际、独立、按时练习
实际:不要只看解法,要实际去练,脑和手并不一致。
独立:独立完成,事后再看解析,做题过程不要看答案。
按时:全心投入, 100 分题要在 40 分钟内完成答题, 200 分题要在 70 分钟内完成 题型汇总
按照算法的难度和频率大致可以分为 必会 进阶 两种类型,每个子项后面的数字表示近期题型出现的次
数,并不绝对正确,可以当做大概的参考。大家实际刷题中可以根据题库提供的功能筛选,按照热度、
题解数等。
必会
1. 字符串处理( 880
2. 排序( 580
3. 递归( 265
4. 谈薪算法( 254
5. 进制转换( 158
6. 栈( 156
7. 滑窗( 151
8. 队列( 127
9. 树( 100
10. 位运算( 68
11. 正则( 42
进阶
1. 图( 103
2. 链表( 84
3. 排列组合( 77
4. 前缀和( 70
5. 深度优先( 69
6. 广度优先( 48
7. 状态机( 58
8. 回溯( 47
9. 分支( 38
10. 二分查抄( 23
建议
1. 建议优先掌握必会部分的内容,这部分出现频次高且难度相对较低,短时间内刷题性价比高。
2. 对于进阶部分,图往往伴随着深度优先和广度优先出现,我建议优先准备链表、广度优先深度优
先、二叉树的遍历(能应付二叉树路径统计等题型)。其余有经历再准备。对于链表、广度优先
和深度优先, LeetCode 和牛客上有很多现成的答题模板,大家可以当做公式一样进行参考。
参考套路
1. 史上最全遍历二叉树详解
https://leetcode-cn.com/problems/binary-tree-preorder-traversal/solution/leetcodesuan-fa-xiu-li
an-dong-hua-yan-shi-xbian-2/
2. BFS 算法框架详解
https://leetcode-cn.com/problems/open-the-lock/solution/wo-xie-liao-yi-tao-bfs-suan-fa-kuang-jia
-jian-dao-/
3. 图文详解 BFS, DFS
https://leetcode-cn.com/circle/article/YLb5l4/
4. labuladong 的算法小抄
https://github.com/labuladong/fucking-algorithm
比较全,但是建议只看题型汇总中的高频题型 参考题目
牛客 https://www.nowcoder.com/ta/huawei
简单题
1. HJ12 字符串反转
2. HJ11 数字颠倒
3. HJ54 表达式求积
4. HJ106 字符逆序
5. HJ76 尼科彻斯定力
6. HJ75 公共子串计算
7. HJ86 求最大连续 bit
8. HJ85 最长回文子串
9. HJ100 等差数列
10. HJ87 密码强度等级
中等题
1. HJ10 字符个数统计
2. HJ46 截取字符串
3. HJ60 查找组成一个偶数最接近的两个素数
4. HJ40 统计字符
5. HJ14 字符串排序
6. HJ5 进制转换
7. HJ59 找出字符串中第一个只出现一次的字符
8. HJ58 输入 n 个整数,输出其中最小的 K
9. HJ81 字符串字符匹配
LeetCode https://leetcode-cn.com
1. 剑指 offer 62 题: 圆圈中最后剩下的数字
2. 3 :无重复字符的最长子串
采用滑窗法
3. 14 :最长公共前缀
4. 151 :翻转字符串里的词
5. 2047 :字符串中的单词数
6. 581 :最短无序连续子数组
7. 1071 :字符串的最大公因子
8. 1111 :有效括号的嵌套度
9. 面试题 17.08 : 马戏团人塔
  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值