面灵AI→

京东 后端开发 笔试

轮次
笔试
时间
2026-09
来源
牛客网

《面试题目》

  1. 编程题:给一个 L-R 的区间,对区间做多次加减操作,求安全数——安全数要满足是 G 的倍数,且全程都在 L-R 这个变动区间内,求安全数的个数、最大值、最小值。
  2. 编程题:一个迷宫,由 .、/、\ 三个符号组成,斜杠会修改光线方向,每条光线有四个方向,求所有能逃离迷宫的光线数(用三维数组 DFS 模拟)。
  3. AI coding 环节(帖中记录分数为 8、8、6、2)。

《参考解析》

  1. 区间加减加安全数怎么下手:核心是把多次区间加减用差分数组或扫描线摊平——把区间端点排序后用事件(加 v、减 v)扫出每一段的实际值,再在每段里统计落在 [L, R] 内且为 G 的倍数的整数个数。区间内 G 的倍数个数就是 floor(r / G) - floor((l - 1) / G),两端边界单独处理;题面已经给了”全程在区间内”的约束,不要自己再加条件。
  2. 迷宫光线题怎么模拟:把状态定义成位置加方向三元组,用三维数组标记访问过的状态来防死循环——同一格同一方向重复进入说明光线成环,不必再走。遇到斜杠按方向映射表改向,/ 和 \ 是两套互为镜像的映射;走出边界即视为逃离并计数。DFS 或 BFS 都行,关键是状态别只记坐标,否则会漏掉”同一格不同方向属于不同路径”。
  3. 笔试之后怎么复盘:全部用例通过只是第一步。把解法的时间复杂度、边界情况(空区间、G 等于 1、起点就在边界上)以及为什么选差分或状态标记讲清楚,这些正是面试官会接着追问的部分。这类笔试的算法题难度通常不超过 LeetCode 中等,拉开差距的是读题和边界处理,而不是算法本身。