leetcode-168周赛-1298-你能从盒子中获得的最大糖果数
题目描述:
方法一:bfs
class Solution: def maxCandies(self, status: List[int], candies: List[int], keys: List[List[int]], containedBoxes: List[List[int]], initialBoxes: List[int]) -> int: n=len(status) ans=0 cur=initialBoxes cont=True while cont: cont=False nxt=[] for idx in cur: if status[idx]: ans+=candies[idx] nxt.extend(containedBoxes[idx]) for nid in keys[idx]: status[nid]=1 cont=True else: nxt.append(idx) cur=nxt return ans