ワード変換
方法
BFSのハングル文字が異なる場合は、キューに入れて巡回します
大きな論理を描く場合は、次のようにします.
queue = [begin]
while queue:
현재 글자 = queue.popleft()
words 순회 - 한 글자가 다르면:
queue.append(해당 word)
コード#コード#
from collections import deque
def check_word(w1, w2):
cnt = 0
for x1, x2 in zip(w1, w2):
if x1 == x2: cnt += 1
if cnt == len(w1)-1:
return True
else:
return False
def solution(begin, target, words):
if target not in words:
return 0
ans = 0
queue = deque([(begin, 0)])
visited = {key : False for key in words}
while queue:
cur = queue.popleft()
if cur[0] == target:
ans = cur[1] #현재 레벨 저장
break
for w in words:
if visited[w] == False and check_word(cur[0], w):
queue.append((w, cur[1] + 1))
visited[w] = True
return ans
Reference
この問題について(ワード変換), 我々は、より多くの情報をここで見つけました https://velog.io/@dldbdud314/단어변환テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol