[Leetcode解題] 753. Cracking the Safe
23 August 2025
medium
graph
753. Cracking the Safe
題目
解題思路
這題我們要用Eulerian Path的思路來解,也就是我們能不能用一筆劃來走完所有的edge跟node。
程式碼
class Solution:
def crackSafe(self, n: int, k: int) -> str:
seen = set()
ans = []
def dfs(node):
for x in map(str, range(k)):
nei = node + x
if nei not in seen:
seen.add(nei)
dfs(nei[1:])
ans.append(x)
dfs("0" * (n-1))
return "".join(ans) + "0" * (n-1)
時間複雜度
$O(k^n)$