字母迷宫游戏初始界面记作 m x n
二维字符串数组 grid
,请判断玩家是否能在 grid
中找到目标单词 target
。
注意:寻找单词时 必须 按照字母顺序,通过水平或垂直方向相邻的单元格内的字母构成,同时,同一个单元格内的字母 不允许被重复使用 。
----
示例 1:
输入:grid = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], target = "ABCCED"输出:true
示例 2:
输入:grid = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], target = "SEE"输出:true
示例 3:
输入:grid = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], target = "ABCB"输出:false
提示:
m == grid.length
n = grid[i].length
1 <= m, n <= 6
1 <= target.length <= 15
grid
和 target
仅由大小写英文字母组成
------
跟主站79题一样,为啥我做这个就超时呢,优化了很久很久才过了,
说一下超时或者做错的地方,就是例子83,一个元素四周都是相同的元素E,只有一种路径才能过,其他的办法就不能过,这里面就是用vis来记录之前的路程,但是如果这样的话vis就会重复记录,就走不出去了。。但是下次我再遇到这种问题估计还是不会做。。。回溯老是不动懂,最后加了个if(!flag) vis[x][y]=false;然后过了。。。
没想到啊。
科普中国 2023-07-13
休闲玩家Kevin 2023-03-15