Ai
1 Star 2 Fork 5

LilithSangreal/LeetCode-Solutions

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
shortest-path-visiting-all-nodes.py 784 Bytes
一键复制 编辑 原始数据 按行查看 历史
Allen Liu 提交于 2018-10-13 13:15 +08:00 . remove unused code
# Time: O(n * 2^n)
# Space: O(n * 2^n)
import collections
class Solution(object):
def shortestPathLength(self, graph):
"""
:type graph: List[List[int]]
:rtype: int
"""
dp = [[float("inf")]*(len(graph))
for _ in xrange(1 << len(graph))]
q = collections.deque()
for i in xrange(len(graph)):
dp[1 << i][i] = 0
q.append((1 << i, i))
while q:
state, node = q.popleft()
steps = dp[state][node]
for nei in graph[node]:
new_state = state | (1 << nei)
if dp[new_state][nei] == float("inf"):
dp[new_state][nei] = steps+1
q.append((new_state, nei))
return min(dp[-1])
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/LilithSangreal/LeetCode-Solutions.git
git@gitee.com:LilithSangreal/LeetCode-Solutions.git
LilithSangreal
LeetCode-Solutions
LeetCode-Solutions
master

搜索帮助