<prompt> Kwa kuzingatia m x n matrix, rudisha _vipengee vyote vya_ matrix _katika mpangilio wa ond_.Mfano wa 1:Ingizo: matrix 1,2,3,4,5,6,7,8,9Pato: 1,2,3,6,9,8,7,4,5Mfano wa 2:Ingizo: matrix 1,2,3,4,5,6,7,8,9,10,11,12Pato: 1,2,3,4,8,12,11,10,9,5,6,7Vikwazo: m matrix.length n matrixi.urefu 1 m, n 10 -100 matrixij 100  <response>: chatudef spiralOrdermatrix: matokeo ikiwa sio matrix: rudisha matokeo m, n lenimatrix, lenimatrix0 safuAnza, colAnza, safuMwisho, colEnd 0, 0, m - 1, n - 1 wakati rowStart rowEnd na colStart colEnd: kwa mimi katika anuwai colStart, colEnd 1: result.appendmatrixrowStarti rowStart 1 kwa i katika masafa rowStart, rowEnd 1: result.appendmatrixicolEnd mwisho - 1 ikiwa rowStart rowEnd: kwa i in rangecolEnd, colStart - 1, -1: result.appendmatrixrowEndi Mstari wa Mwisho - 1 ikiwa colStart colEnd: kwa i in rangerowEnd, rowStart - 1, -1: result.appendmatrixicolStart colStart 1 matokeo ya kurudimaelezoAlgorithm inarudia juu ya matrix kwa mpangilio wa ond. Anzisha fahirisi ili kufuatilia mipaka ya matriki. Algorithm inakwenda kutoka kushoto kwenda kulia, kutoka juu hadi chini, kutoka kulia kwenda kushoto, na kisha kutoka chini hadi juu. Kwa kila marudio, sasisha mipaka ya matrix. Mchakato unaendelea hadi mipaka ya safu na safu huvuka kila mmoja. 