m:1" />

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

python(leetcode)498. 對(duì)角線遍歷

系統(tǒng) 1828 0

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

第一個(gè)會(huì)超時(shí),

第二個(gè):思想是按斜對(duì)角線行進(jìn)行右下左上交替遍歷,

            
               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
            
            
              #
            
            
              思想是按斜對(duì)角線行進(jìn)行遍歷
            
            
               5
            
            
              #
            
            
              遍歷的方向右下,左上交替進(jìn)行
            
            
               6
            
                 line=
            
              0

            
            
               7
            
                 res=
            
              []

            
            
               8
            
                 tem=
            
              []

            
            
               9
            
                 is_sure=
            
              True

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

            
            
              12
            
            
              #
            
            
              設(shè)置起點(diǎn)
            
            
              13
            
            
              if
            
            (line<
            
              m):

            
            
              14
            
                         x=
            
              line

            
            
              15
            
                         y=
            
              0

            
            
              16
            
            
              else
            
            
              :

            
            
              17
            
                         x=m-1

            
              18
            
                         y=line-m-1

            
              19
            
            
              #
            
            
              每行循環(huán)幾次
            
            
              20
            
            
              #
            
            
              因?yàn)槎际菑挠疑祥_(kāi)始,所以設(shè)置條件x>0,y
              
            
            
              21
            
            
              while
            
             x>=0 
            
              and
            
             y <
            
              n:

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

            
            
              24
            
                         x-=1

            
              25
            
                         y+=1

            
              26
            
            
              #
            
            
              如果是左下開(kāi)始,則反向添加
            
            
              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))
          

?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产福利91 | 久久精品免视看国产明星 | 91成人免费在线视频 | 国产欧美日韩亚洲精品区2345 | 欧美日韩亚洲无线码在线观看 | 国产亚洲在线观看 | 欧美激情伦妇在线观看 | 精品九九视频 | 亚洲精品第四页中文字幕 | 欧美国产日韩在线播放 | 国产精品无码久久综合网 | 成人免费一级毛片在线播放视频 | 伊人五月天婷婷琪琪综合 | 精品无人乱码一区二区三区 | 日韩欧美精品有码在线观看 | 美女hdxxxx中国| 波多野结衣久久一区二区 | 深夜福利视频网址 | 日本人成免费大片 | 91资源视频 | 国内自拍 在线播放 网红 | 日本不卡在线一区二区三区视频 | 久草香蕉视频在线观看 | 国产综合成人亚洲区 | 欧美激情久久欧美激情 | 99热久久国产综合精品久久国产 | 色综合天天操 | 国产高清国产专区国产精品 | 亚洲国产成人久久77 | 午夜欧美精品久久久久久久久 | 特级全黄一级毛片视频 | 毛片真人毛毛片毛片 | 国产精品久久久久久一区二区 | 91资源在线 | 国产视频成人 | 久久lu| 天天躁狠狠躁夜躁2021 | 五月婷婷激情五月 | 国产不卡视频在线 | 日韩免费不卡 | 亚洲六月丁香色婷婷综合久久 |