• leetcode1042


     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

    本周的题不好做啊,这个出题人喜欢出的题目都是我不擅长的,为了平台的良好发展,“客观公正”的给个差评吧。

  • 相关阅读:
    2312--1.3.4 Prime Cryptarithm 牛式
    Slava and tanks 877C
    World Cup 996B(排队模拟)
    css内边距 边框
    iframs刷新的两种方法
    JS DOM节点
    JS对话框
    JS事件常用事件
    JS数组
    JS第一天
  • 原文地址:https://www.cnblogs.com/asenyang/p/10852107.html
Copyright © 2020-2023  润新知