m:1" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python(leetcode)498. 對角線遍歷

系統 2015 0

這題難度中等,記錄下思路

第一個會超時,

第二個:思想是按斜對角線行進行右下左上交替遍歷,

            
               1
            
            
              def
            
            
               traverse(matrix):

            
            
               2
            
                 n=len(matrix)-1

            
               3
            
                 m=len(matrix[0])-1

            
               4
            
                 result=
            
              []

            
            
               5
            
            
              for
            
             i 
            
              in
            
             range(m+n+1
            
              ):

            
            
               6
            
            
              if
            
            (i % 2 ==
            
               0):

            
            
               7
            
            
              for
            
             j 
            
              in
            
             range(i, -1, -1
            
              ):

            
            
               8
            
                                 x=
            
              j

            
            
               9
            
                                 y=i-
            
              x

            
            
              10
            
            
              if
            
             x <= n 
            
              and
            
             y <=
            
               m:

            
            
              11
            
            
                                      result.append(matrix[x][y])

            
            
              12
            
            
              #
            
            
               elif y > m:
            
            
              13
            
            
              #
            
            
                   break
            
            
              14
            
            
              else
            
            
              :

            
            
              15
            
            
              continue
            
            
              16
            
            
              else
            
            
              :

            
            
              17
            
            
              for
            
             j 
            
              in
            
             range(i, -1, -1
            
              ):

            
            
              18
            
                                 y=
            
              j

            
            
              19
            
                                 x=i-
            
              y

            
            
              20
            
            
              if
            
             x <= n 
            
              and
            
             y <=
            
               m:

            
            
              21
            
            
                                      result.append(matrix[x][y])

            
            
              22
            
            
              #
            
            
               elif x > n:
            
            
              23
            
            
              #
            
            
                   break
            
            
              24
            
            
              else
            
            
              :

            
            
              25
            
            
              continue
            
            
              26
            
            
              return
            
            
               result

            
            
              27
            
            
              28
            
            
              if
            
            
              __name__
            
             == 
            
              '
            
            
              __main__
            
            
              '
            
            
              :

            
            
              29
            
                 ma=
            
              [

            
            
              30
            
              [ 1, 2, 3
            
               ],

            
            
              31
            
              [ 4, 5, 6
            
               ],

            
            
              32
            
              [ 7, 8, 9
            
               ]

            
            
              33
            
            
              ]

            
            
              34
            
            
              print
            
            (traverse(ma))
          

?

11

            
               1
            
            
              def
            
            
               diagonial(matrix):

            
            
               2
            
                 m=
            
              len(matrix)

            
            
               3
            
                 n=
            
              len(matrix[0])

            
            
               4
            
            
              #
            
            
              思想是按斜對角線行進行遍歷
            
            
               5
            
            
              #
            
            
              遍歷的方向右下,左上交替進行
            
            
               6
            
                 line=
            
              0

            
            
               7
            
                 res=
            
              []

            
            
               8
            
                 tem=
            
              []

            
            
               9
            
                 is_sure=
            
              True

            
            
              10
            
            
              #
            
            
              對每一行進行循環 斜對角線有m+n-1條
            
            
              11
            
            
              while
            
             line<(m+n-1
            
              ):

            
            
              12
            
            
              #
            
            
              設置起點
            
            
              13
            
            
              if
            
            (line<
            
              m):

            
            
              14
            
                         x=
            
              line

            
            
              15
            
                         y=
            
              0

            
            
              16
            
            
              else
            
            
              :

            
            
              17
            
                         x=m-1

            
              18
            
                         y=line-m-1

            
              19
            
            
              #
            
            
              每行循環幾次
            
            
              20
            
            
              #
            
            
              因為都是從右上開始,所以設置條件x>0,y
              
            
            
              21
            
            
              while
            
             x>=0 
            
              and
            
             y <
            
              n:

            
            
              22
            
            
              #
            
            
               存儲斜行的元素
            
            
              23
            
            
                          tem.append(matrix[x][y])

            
            
              24
            
                         x-=1

            
              25
            
                         y+=1

            
              26
            
            
              #
            
            
              如果是左下開始,則反向添加
            
            
              27
            
            
              if
            
            
              (is_sure):

            
            
              28
            
            
                          tem.reverse()

            
            
              29
            
            
              for
            
             num 
            
              in
            
            
               tem:

            
            
              30
            
            
                          res.append(num)

            
            
              31
            
                     line+=1

            
              32
            
            
              return
            
            
               res

            
            
              33
            
            
              34
            
            
              35
            
            
              if
            
            
              __name__
            
             == 
            
              '
            
            
              __main__
            
            
              '
            
            
              :

            
            
              36
            
                 matrix=
            
              [

            
            
              37
            
              [ 1, 2, 3
            
               ],

            
            
              38
            
              [ 4, 5, 6
            
               ],

            
            
              39
            
              [ 7, 8, 9
            
               ]

            
            
              40
            
            
              ]

            
            
              41
            
            
              print
            
            (diagonial(matrix))
          

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久精品中文字幕首页 | 国内精品久久久久影院6 | 日韩不卡高清视频 | 亚洲精彩 | 国产成人aa在线观看视频 | 免费四影虎ww4hu10 | 97国产在线视频公开免费 | 毛片大| 中文国产成人久久精品小说 | 久久久久欧美精品网站 | 国产成人免费全部网站 | 亚洲国产精品久久综合 | 噜噜啪| 一个色的综合 | 欧美一级永久免费毛片在线 | 国产一级片毛片 | 久青草国产在线视频_久青草免 | 久热最新视频 | 日本视频在线观看不卡高清免费 | 欧美一级视频免费 | 亚洲专区欧美专区 | 日本特一级毛片免费视频 | 九九热在线视频免费观看 | 青青爽 | 久久精品亚瑟全部免费观看 | 五月婷婷激情在线 | 免费一级a毛片在线播放视 免费一级成人毛片 | 欧洲午夜视频 | 伊人久久精品 | 夜夜夜夜夜夜夜工噜噜噜 | 美国毛片aaa在线播放 | 九一毛片| 亚洲欧美日韩国产精品 | 亚洲啪啪看看 | 前田香织一区二区中文字幕 | 欧美精品视 | 久久青青视频 | 欧美夜夜撸 | 成人国产在线不卡视频 | 亚洲国产系列一区二区三区 | 99热久久久这里只有精品免费 |