最近在准备华为OD机考,身边也有一些朋友正在参加或者已经参加完机考,根据大家的反馈,大概有两种备考思路。第一种是做真题,这个需要知识付费,囊肿羞涩的我就不考虑了。第二种是根据知识点,针对性的在leetcode和牛客网进行刷题。
第一种:知识付费,做真题
https://blog.csdn.net/qq_34465338/article/details/128330728
链接的题目需要花钱,奈何囊中羞涩,根据列表在网上扒了一些真题(不断更新中)。搬运了一下,没有答案,主要是理解其考点和解题思路。富裕(哈哈哈哈)的人可直接跳转到该链接进行购买,里面有满分答案。
第二种:根据知识点,针对性刷题
机考知识点及题目
常考的基本数据类型:char、int、boolean
常考的数据结构:String(ASCII码的使用、正则表达式的使用)、set、map、数组、队列、栈
常考的算法:排序(自定义排序、lambda表达式的使用可以简便实现二维数组自定义排序)、dfs+回溯+剪枝、bfs、双指针(滑动窗口)、贪心、dp、单调栈、二分查找、前缀和
主要刷题方向
字符串,数组,遍历,回溯,动态规划
牛客网-题库-华为机试
https://www.nowcoder.com/exam/oj/ta?page=1&tpId=37&type=37
重点题目:
(1) 字符串
主要了解ascii码、哈希、正则表达式的使用
HJ17、HJ18、HJ29、HJ30
(2) 数组
主要熟悉set的使用,排序函数的使用,二维数组使用lambda表达式按列排序,滑动窗口(双指针)在数组类题中的应用
HJ3, HJ64
自定义排序:HJ68
(3) 回溯,动规,搜索
主要熟悉算法代码的组织结构和代码模式,可以自己尝试写一个模板
HJ61,HJ67,HJ24,HJ52,
力扣
https://leetcode-cn.com/problemset/all/
滑动窗口:
11 盛最多水的容器
42 接雨水
3. 无重复字符的最长子串
DFS/BFS:
200 岛屿数量
96 不同的二叉搜索树
动态规划:
122. 买卖股票的最佳时机 II
123. 买卖股票的最佳时机 III
213 打家劫舍II
递归:LeetCode70、112、509
分治:LeetCode23、169、240
单调栈:LeetCode84、85、739、503
并查集:LeetCode547、200、684
滑动窗口:LeetCode209、3、1004、1208
前缀和:LeetCode724、560、437、1248
差分:LeetCode1094、121、122
拓扑排序:LeetCode210
字符串:LeetCode5、20、43、93
二分查找:LeetCode33、34
BFS:LeetCode127、139、130、529、815
DFS&回溯::LeetCode934、685、1102、531、533、113、332、337
动态规划:LeetCode213、123、62、63、361、1230
贪心算法:LeetCode55、435、621、452
字典树:LeetCode820、208、648