<prompt> Kwa kuzingatia m x n matrix mat, rudisha _safu ya vipengele vyote vya safu katika mpangilio wa mshazari_.Mfano wa 1:Ingizo: mkeka 1,2,3,4,5,6,7,8,9Pato: 1,2,4,7,5,3,6,8,9Mfano wa 2:Ingizo: mkeka 1,2,3,4Pato: 1,2,3,4Vikwazo: m mat.length n mkekai.urefu 1 m, n 104 1 m n 104 -105 mkekaij 105  <response>: chatukutoka kwa kuchapa Orodha ya kuingizadef findDiagonalOrdermat: ListOrodhaint - Orodhaint: m, n lenimkeka, lenimkeka0 matokeo 0 m n safu, safu 0, 0 kwa mimi katika safum n: matokeoi matrowcol ikiwa safu safu 2 0: ikiwa col n - 1: safu 1 elif safu 0: nambari 1 kwingine: safu - 1 nambari 1 kwingine: ikiwa safu m - 1: nambari 1 elif col 0: safu 1 kwingine: safu 1 nakala - 1 matokeo ya kurudimaelezoAlgorithm inarudia kupitia kila kipengele cha matrix kwa mpangilio wa mshazari. Tunaweka kitanzi mara mbili ambacho hupitia jumla ya vitu kwenye tumbo m n. Tunafuatilia safu mlalo na safu wima ya sasa wakati tunarudia.Tunatumia taarifa ya masharti ili kuangalia ikiwa jumla ya safu mlalo na safu wima ya sasa ni sawa, kumaanisha tunahitaji kusogea juu kwa kimshazari kwenda kulia. Ikiwa tuko kwenye makali ya kulia, tunasonga chini safu moja. Ikiwa tuko kwenye makali ya juu, tunasonga kulia safu moja. Vinginevyo, tunasonga juu diagonally safu - 1, col 1.Ikiwa jumla ya safu mlalo na safu ya sasa ni isiyo ya kawaida, inamaanisha tunahitaji kushuka chini kimshazari kuelekea kushoto. Ikiwa tuko kwenye makali ya chini, tunasonga kulia safu moja. Ikiwa tuko kwenye makali ya kushoto, tunasonga chini safu moja. Vinginevyo, tunasonga chini diagonally safu 1, col - 1. 