华为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 : 马戏团人塔
### 解决方案 在 macOS 上遇到 `vite` 命令未找到 (`command not found`) 的问题,通常是因为全局路径配置不正确或 Vite 未被正确安装到系统的 PATH 中。以下是可能的原因以及对应的解决方法: #### 1. **确认 Node.js 和 npm 已经正确安装** 确保已经安装了最新版本的 Node.js 和 npm。可以通过以下命令验证: ```bash node -v && npm -v ``` 如果没有返回相应的版本号,则需要先通过 [Node.js 官方网站](https://nodejs.org/) 或 Homebrew 进行安装。 #### 2. **检查 Vite 是否已全局安装** 运行以下命令来查看 Vite 是否已被全局安装: ```bash npm list -g vite ``` 如果显示为空或找不到模块,则说明尚未安装。可以尝试重新安装 Vite 并将其添加到全局环境中: ```bash npm install -g vite ``` #### 3. **更新 PATH 配置** 即使成功安装了 Vite,仍可能出现 `command not found` 错误,这通常是由于系统无法识别 npm 全局包所在的目录所致。默认情况下,npm 将全局包存储在 `/usr/local/bin/` 下,因此需确保该路径存在于用户的 `$PATH` 环境变量中。 编辑 `.zshrc` 文件并追加以下内容以设置正确的 PATH: ```bash echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc source ~/.zshrc ``` 此操作会将 `/usr/local/bin/` 添加至当前用户的 PATH 列表[^4]。 #### 4. **处理权限问题** 有时因权限不足可能导致某些文件不可访问。此时可通过更改 shell 脚本权限的方式解决问题: ```bash chmod u+x /path/to/vite ``` 对于更复杂的场景,也可以考虑使用超级用户权限执行命令: ```bash sudo npm install -g vite ``` #### 5. **切换 Shell 类型** 部分开发者可能会因为更换默认 shell (如从 bash 改为 zsh),而忘记同步环境变量设定。为了防止此类情况发生,可以在 VS Code 设置中的 JSON 文件里指定集成终端使用的 profile: ```json { "terminal.integrated.defaultProfile.osx": "zsh" } ``` 上述代码片段能够强制让 Visual Studio Code 使用 ZSH 作为其内置控制台的核心引擎。 --- ### 总结 综上所述,当面对 Mac OS X 下 “Command Not Found” 报错时,应依次排查以下几个方面:一是核查基础开发套件是否完备;二是审查目标程序有无正常部署于机器之上;三是调整个人工作区内的路由指引参数使之兼容新软件需求最后再审视是否存在安全层面阻碍因素影响正常使用体验[^1][^2]. ```python import subprocess def check_vite_installation(): try: result = subprocess.run(['vite', '--version'], capture_output=True, text=True) print(f"Vite Version: {result.stdout.strip()}") except FileNotFoundError: print("Error: Vite is not installed or the command cannot be located.") check_vite_installation() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值