• <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)
            久久无码专区国产精品发布| 久久综合精品国产二区无码| 亚洲国产精品热久久| 国内精品欧美久久精品| 欧美久久久久久午夜精品| 久久无码国产专区精品| 99久久人妻无码精品系列| 亚洲国产精品成人AV无码久久综合影院 | 国产成人精品久久一区二区三区av| 国产视频久久| 久久久久高潮毛片免费全部播放 | 色综合久久天天综合| 久久天天婷婷五月俺也去| 亚洲嫩草影院久久精品| 精产国品久久一二三产区区别| 婷婷久久综合九色综合98| 18禁黄久久久AAA片| 久久免费国产精品| 久久精品嫩草影院| 97久久超碰国产精品旧版| AV无码久久久久不卡蜜桃| 亚洲国产日韩欧美久久| 九九热久久免费视频| 97久久久久人妻精品专区| 无码人妻久久一区二区三区| 四虎国产精品成人免费久久| 色综合久久久久综合99| 久久久久成人精品无码| 欧美亚洲国产精品久久蜜芽| 久久线看观看精品香蕉国产| 国内精品久久久久影院优| 亚洲精品乱码久久久久久久久久久久 | 99久久免费国产精精品| 久久久久亚洲av无码专区| 亚洲午夜久久久影院| 久久亚洲欧美国产精品| 亚洲国产另类久久久精品小说| 蜜臀av性久久久久蜜臀aⅴ| 久久一日本道色综合久久| 精品乱码久久久久久久| 97久久精品国产精品青草|