华为OD机考365.83分复盘——真题考点+解题思路

上周我小组有个候选人机考刚出分我就让他复盘了一下

背景:总分365.834/400,排名前22%。

第一题全过,后两题部分通过。我整理了三题的考点与思路,供参考。

一星题1:循环内存存取计算(82.5分)

考点:

环形缓冲区、内存对齐、区间重叠判断

思路:

  1. 将写指针对齐到align的整数倍(注意可能绕回0)
  2. 计算写入后的结束位置
  3. 判断是否会覆盖未读数据区间(read_index ~ write_index)
  4. 若能放下则返回新写指针,否则返回-1

注意点:

  • 对齐后若等于capacity,需绕回0
  • write_index == read_index 时缓冲区为空,可写入
  • 绕回写入时,需检查两段是否与未读区间重叠

一星题2:美观的灯笼(100分)

考点:

最长连续非递增子数组、一次遍历

思路:

  1. 遍历数组,若当前灯笼尺寸 ≤ 上一个,长度加1;否则重置长度。
  2. 同时记录最大长度和起始索引,最后返回[最大长度, 起始索引]

二星题:水站孤立站判定(183.33分)

考点:

图论、多源BFS、有向与无向混合图

思路:

  1. 建图:单向管道加一条边,双向加两条
  2. 将所有源头站加入队列,BFS标记可到达的站点
  3. 未被标记的即为孤立站,按升序输出

注意点:

  • 双向管道需添加反向边
  • pipes为二维数组,注意索引
  • BFS使用visited数组避免重复

刷题建议:

  • 一星题:重点练习字符串、数组、模拟、贪心
  • 二星题:重点练习动态规划、图论(BFS/DFS/拓扑排序)

整体来看,这套题目不算偏,策略拿分比全做对更重要。有问题欢迎留言交流。

#程序员##内推##机考##华为OD##华为#
全部评论
接好运
点赞 回复 分享
发布于 今天 11:03 广东

相关推荐

评论
4
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务