• <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
            給出一列數,每個數字nums[i]代表走到該位置i時,可以跳到i-nums[i]或者i+nums[i],問從start位置開始是否可以跳到nums[i]=0的位置i,DFS或者BFS爆搜

            DFS

             1 #1306
             2 #Runtime: 673 ms
             3 #Memory Usage: 66.7 MB
             4 
             5 class Solution(object):
             6     def canReach(self, arr, start):
             7         """
             8         :type arr: List[int]
             9         :type start: int
            10         :rtype: bool
            11         """
            12         def DFS(arr, pos, vis):
            13             if pos >= len(arr) or pos < 0 or pos in vis:
            14                 return False
            15             vis.add(pos)
            16             if arr[pos] == 0:
            17                 return True
            18             return DFS(arr, pos + arr[pos], vis) or DFS(arr, pos - arr[pos], vis)
            19         return DFS(arr, start, set())


            BFS

             1 #1306
             2 #Runtime: 238 ms
             3 #Memory Usage: 20 MB
             4 
             5 class Solution(object):
             6     def canReach(self, arr, start):
             7         """
             8         :type arr: List[int]
             9         :type start: int
            10         :rtype: bool
            11         """
            12         def BFS(arr, start):
            13             q = deque([start])
            14             vis = set([start])
            15             while q:
            16                 pos = q.popleft()
            17                 if arr[pos] == 0:
            18                     return True
            19                 if pos + arr[pos] < len(arr) and pos + arr[pos] not in vis:
            20                     vis.add(pos + arr[pos])
            21                     q.append(pos + arr[pos])
            22                 if pos - arr[pos] >= 0 and pos - arr[pos] not in vis:
            23                     vis.add(pos - arr[pos])
            24                     q.append(pos - arr[pos])
            25             return False
            26         return BFS(arr, start)
            97精品依人久久久大香线蕉97 | 少妇精品久久久一区二区三区| 久久精品成人国产午夜| 欧美熟妇另类久久久久久不卡| 亚洲国产成人久久综合一区77| 热综合一本伊人久久精品| 国产日韩久久免费影院 | 久久综合九色综合欧美狠狠| 国产精品久久久久AV福利动漫| 亚洲va国产va天堂va久久| 久久99精品久久久久久久久久| 久久国产高潮流白浆免费观看| 精品乱码久久久久久久| 久久不射电影网| 久久91精品综合国产首页| 久久综合给合综合久久| 久久久久久久波多野结衣高潮 | 久久精品国产清自在天天线| 亚洲精品白浆高清久久久久久| 久久99亚洲网美利坚合众国| 97精品伊人久久久大香线蕉| 久久伊人中文无码| 久久精品国产亚洲AV香蕉| 9久久9久久精品| 久久久久亚洲精品天堂久久久久久| 色综合久久88色综合天天 | 人妻精品久久无码区| 国产成人精品久久综合| 久久精品免费一区二区| 久久免费美女视频| 久久亚洲精品国产亚洲老地址 | 亚洲中文字幕无码久久2017| 国产精品久久免费| 亚洲国产精品嫩草影院久久 | 久久精品国产精品青草app| 久久久WWW免费人成精品| 久久综合国产乱子伦精品免费| 精品久久久久久无码中文野结衣| 热99RE久久精品这里都是精品免费| 91精品国产91久久久久福利| 久久中文字幕精品|