• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Uriel's Corner

            Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
            posts - 0, comments - 50, trackbacks - 0, articles - 594
            一個(gè)1000000*1000000的二維平面,中間有一些格子是障礙物(由blocked數(shù)組給出),給出起點(diǎn)和終點(diǎn),問(wèn)能否通過(guò)每步走東南西北中的一個(gè)方向一步來(lái)到達(dá)
            直接搜整個(gè)平面會(huì)TLE,但由題目描述可知最多只有200個(gè)障礙物,由Discussion()得到啟發(fā),最多只要搜len(blocked)步長(zhǎng)就可以得知起點(diǎn)或者終點(diǎn)有沒(méi)有被完全阻擋,只要從起點(diǎn)和終點(diǎn)開始各BFS len(blocked)步長(zhǎng)即可

             1 #1036
             2 #Runtime: 2870 ms
             3 #Memory Usage: 26.5 MB
             4 
             5 class Solution(object):
             6     def BFS(self, source, target):
             7         m, n = 1000000, 1000000
             8         d = [[0, 1], [1, 0], [0, -1], [-1, 0]]
             9         q = deque([[source[0], source[1], 0]])
            10         vis = set()
            11         vis.add((source[0], source[1]))
            12         while q:
            13             x, y, stp = q.popleft()
            14             if stp > len(self.blocked) or [x, y] == target:
            15                 return True
            16             for dx, dy in d:
            17                 tx = x + dx
            18                 ty = y + dy
            19                 if 0 <= tx < 10**6 and 0 <= ty < 10**6 and (tx, ty) not in vis and (tx, ty) not in self.blocked:
            20                     vis.add((tx, ty))
            21                     q.append([tx, ty, stp + 1])
            22         return False
            23                     
            24     def isEscapePossible(self, blocked, source, target):
            25         """
            26         :type blocked: List[List[int]]
            27         :type source: List[int]
            28         :type target: List[int]
            29         :rtype: bool
            30         """
            31         self.blocked = {tuple(p) for p in blocked}
            32         return self.BFS(source, target) and self.BFS(target, source)
            久久精品蜜芽亚洲国产AV| 亚洲国产成人久久精品99 | 日韩久久久久久中文人妻| 好久久免费视频高清| 狠狠色婷婷久久综合频道日韩 | 久久亚洲sm情趣捆绑调教| 精品国产青草久久久久福利| 9999国产精品欧美久久久久久| 国产精品久久久久天天影视| AAA级久久久精品无码片| 久久精品国产亚洲AV无码娇色| 久久精品亚洲精品国产色婷 | 中文字幕亚洲综合久久2| 一级做a爱片久久毛片| 欧美精品一区二区精品久久| 国产精品久久久久一区二区三区| 精品无码久久久久久久动漫| 日韩电影久久久被窝网| 亚州日韩精品专区久久久| 亚洲午夜久久久影院| 97久久精品午夜一区二区| 国产综合成人久久大片91| 性做久久久久久久久久久| 国产V综合V亚洲欧美久久| 国产日韩久久免费影院| 久久人人爽人人爽人人片av麻烦| 色欲综合久久躁天天躁蜜桃| 久久香蕉一级毛片| 思思久久99热只有频精品66| 国产精品久久99| 亚洲精品99久久久久中文字幕| 久久婷婷激情综合色综合俺也去| 午夜不卡888久久| 亚洲AV乱码久久精品蜜桃| 香港aa三级久久三级| 久久AV高潮AV无码AV| 94久久国产乱子伦精品免费 | 一级a性色生活片久久无少妇一级婬片免费放| 久久只这里是精品66| 精品人妻伦九区久久AAA片69 | 麻豆成人久久精品二区三区免费|