热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

79单词搜索

fromtypingimportList#这个是广搜的思路。通过一个点向上下左右走,寻找board中word对应存在的单词。#直到找到word中最后一个单词。classSoluti

python

from typing import List
# 这个是广搜的思路。通过一个点向上下左右走,寻找board中word对应存在的单词。
# 直到找到word中最后一个单词。
class Solution:
def exist(self, board: List[List[str]], word: str) -> bool:
# 定义二维数组的行和列。
col = len(board)
row = len(board[0])
# 定义广搜函数。
def dfs(index,x,y):
# 当寻找的单词个数够了之后,就返回正确
if index == len(word) - 1:
return True
# 因为题目要求不能够用重复的元素,所以这个先将这个数改掉。
temp = board[x][y]
board[x][y] = 0
# 深搜的精髓,上下左右寻找,判断哪个方向的节点符合。
for i,j in [[x + 1,y],[x - 1,y],[x,y + 1],[x,y -1]]:
# 判断节点的索引有没有出界。
if 0 <= i # 还原。
board[x][y] = temp
return False
# 遍历二维数组,一个个进行判断。
for i in range(col):
for j in range(row):
if board[i][j] == word[0]:if dfs(0, i, j): return True
# 遍历完不符合的话就返回假。
else:
return False
A = Solution()
print(A.exist([
["A","B","C","E"],
["S","F","C","S"],
["A","D","E","E"]
],"ABCCED"))


推荐阅读
author-avatar
他给我留下的美好_813
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有