9.2华为笔试复盘
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 矩阵中被城墙围死的村庄数量如何计算?
- 如何求 B 进制中长度为 L、无前导零的第 K 个回文串?
- 如何把目标回文串转换为十进制值?
- 一条路径可以升级 K 条边时,如何最大化从 0 到 n-1 的瓶颈带宽?
- Java 主类中的内部 Node、Edge 类如何实例化?
《参考解析》
从矩阵边界的村庄做 BFS,标记所有能到达外界的节点,再用总村庄数减去已解放数量。回文串只需枚举前半部分:先计算首个合法串的排名,加入 K 后按 B 进制展开,再镜像生成后半部分。瓶颈路径可二分答案,对每个候选带宽检查是否存在一条路径且至多 K 条边翻倍后满足阈值。非 static 内部类需要外部类实例,竞赛代码更适合将节点类声明为 static 或独立类。