方法一:
class Solution(object): def minimumSemesters(self, N, relations): """ :type N: int :type relations: List[List[int]] :rtype: int """ dic = {} dic2 = {} for i in range(1, N+1): dic[i] = 0 dic2[i] = [] for r in relations: dic[r[1]]+=1 dic2[r[0]].append(r[1]) ans = 0 keys = dic.keys() while keys: arr = [] for k in keys: if dic[k] == 0: arr.append(k) if not arr: return -1 for k in arr: if k in dic2: for w in dic2[k]: dic[w] -= 1 del dic[k] ans += 1 keys = dic.keys() return ans