1 class Solution: 2 def gardenNoAdj(self, N: int, paths: 'List[List[int]]') -> 'List[int]': 3 s = dict() 4 n = len(paths) 5 for i in range(n): 6 pair = paths[i] 7 if pair[0] in s: 8 s[pair[0]].append(pair[1]) 9 else: 10 s.update({pair[0]:[pair[1]]}) 11 if pair[1] in s.keys(): 12 s[pair[1]].append(pair[0]) 13 else: 14 s.update({pair[1]:[pair[0]]}) 15 result = [1] * N 16 for i in range(N): 17 k = i + 1 18 if k in s: 19 li = sorted(s[k]) 20 st = set() 21 for j in range(len(li)): 22 if li[j] < k: 23 st.add(result[li[j]-1]) 24 else: 25 break 26 27 if len(st) == 0: 28 result[i] = 1 29 else: 30 for m in range(1,5): 31 if m not in st: 32 result[i] = m 33 break 34 return result
本周的题不好做啊,这个出题人喜欢出的题目都是我不擅长的,为了平台的良好发展,“客观公正”的给个差评吧。