• <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è)m行n列迷宮圖,從最上排開始丟小球,輸出list型answer,answer[i]表示從最下排i槽掉下的是最上端第answer[i]個(gè)槽的小球

            例如:
            grid = [[1,1,1,-1,-1],[1,1,1,-1,-1],[-1,-1,-1,1,1],[1,1,1,1,-1],[-1,-1,-1,-1,-1]]
            表示下圖

            \\\//
            \\\//
            ///\\
            \\\\/
            /////

            從最上排最左側(cè)的球會在最下排第二個(gè)槽落出

            兩種思路:
            思路一:對最上排每個(gè)槽DFS,估計(jì)Memory使用會比較高

            思路二:開兩個(gè)數(shù)組dp和dp_pre,dp[j]表示下一行第i槽的球來自初始第一行第dp[j]個(gè)槽,dp_pre存當(dāng)前行的結(jié)果。初始化dp全-1,dp_pre為0-n-1

            如果當(dāng)前行第j個(gè)格子是'\',那么必須滿足1.不是最右邊一個(gè)槽,2.該槽右邊的槽也是'\',那么小球落入下一行j+1個(gè)槽位
            如果當(dāng)前行第j個(gè)格子是'/',那么必須滿足1.不是最左邊一個(gè)槽,2.該槽右邊的槽也是'/',那么小球落入下一行j-1個(gè)槽位
            復(fù)雜度O(m*n)

            Memory使用量很優(yōu)秀~
            Runtime: 238 ms, faster than 78.93% of Python online submissions for Where Will the Ball Fall.
            Memory Usage: 13.4 MB, less than 100.00% of Python online submissions for Where Will the Ball Fall.

             1 #1706
             2 #Runtime: 238 ms
             3 #Memory Usage: 13.4 MB
             4 
             5 class Solution(object):
             6     def findBall(self, grid):
             7         """
             8         :type grid: List[List[int]]
             9         :rtype: List[int]
            10         """
            11         dp = [-1] * len(grid[0])
            12         dp_pre = range(len(grid[0]))
            13         for i in range(len(grid)):
            14             for j in range(len(grid[0])):
            15                 if grid[i][j] == 1:
            16                     if j < len(grid[0]) - 1 and grid[i][j + 1] == 1:
            17                         dp[j + 1] = dp_pre[j]
            18                 if grid[i][j] == -1:
            19                     if j > 0 and grid[i][j - 1] == -1:
            20                         dp[j - 1] = dp_pre[j]
            21             dp_pre = dp
            22             dp = [-1] * len(grid[0])
            23         dp = [-1] * len(grid[0])
            24         for i in range(len(dp)):
            25             if dp_pre[i] != -1:
            26                 dp[dp_pre[i]] = i
            27         return dp
            久久久久亚洲精品日久生情 | 狠狠色婷婷综合天天久久丁香| 久久婷婷午色综合夜啪| 亚洲精品乱码久久久久久蜜桃| 亚洲精品美女久久久久99| 激情伊人五月天久久综合| 色婷婷综合久久久久中文字幕| 久久久噜噜噜久久中文福利| 久久久久久噜噜精品免费直播| 精品久久久久久成人AV| 国产激情久久久久影院老熟女免费 | 精品多毛少妇人妻AV免费久久| 久久精品人人做人人爽电影蜜月| 国产精品久久久福利| 久久久久av无码免费网| 国产∨亚洲V天堂无码久久久| 久久精品国产清自在天天线| 久久天天躁狠狠躁夜夜96流白浆| 亚洲精品无码专区久久同性男| 久久亚洲美女精品国产精品| 日韩电影久久久被窝网| 91久久精品视频| 四虎国产精品免费久久5151 | 狠狠久久亚洲欧美专区| 伊人久久大香线蕉AV一区二区| 亚洲国产成人久久精品影视| 亚洲国产精品高清久久久| 日韩欧美亚洲国产精品字幕久久久 | 日韩亚洲欧美久久久www综合网| 久久精品国产一区二区电影| 性高湖久久久久久久久| 久久青青草原精品国产| 国产精品99久久精品爆乳| 国内精品伊人久久久久AV影院| 97精品依人久久久大香线蕉97 | 精品综合久久久久久97超人 | 日本五月天婷久久网站| 久久这里都是精品| 久久天天躁狠狠躁夜夜2020老熟妇 | 国产精品99久久久久久人| 综合人妻久久一区二区精品|