Uber OA 面试真题解析:二维字母矩阵查找单词(8 个方向)

15次阅读
没有评论

Given a two-dimensional array of letters, find whether a given word can be written in any one of the 8 directions.

In other words, the word may appear horizontally, vertically, or diagonally in any direction.

Example 1

Input: UBER

A U I K F W N
W O B O L X P
T L A E R E C
Y Z X E R L W

Output: true

Example 2

Input: UBER

U B
E R

Output: false

这道题要求在二维字母矩阵中判断一个单词是否能沿着 8 个方向之一连续出现,也就是上下左右以及四个对角线方向都要考虑。常见做法是枚举每个格子作为起点,如果当前字符与单词首字母相同,就沿 8 个方向逐步匹配后续字符;只要某个方向完整匹配成功即可返回 true。这个题的核心是二维遍历加方向数组,通常用 DFS 或直接按方向线性检查实现,时间复杂度与矩阵大小和单词长度相关。

正文完
 0