phpexcel遍歷所有列 對角線遍歷

2021-10-12 19:43:07 字數 1206 閱讀 9286

給定乙個含有 m x n 個元素的矩陣(m 行,n 列),請以對角線遍歷的順序返回這個矩陣中的所有元素,對角線遍歷如下圖所示。

示例:

輸入:

[ [ 1, 2, 3 ],

[ 4, 5, 6 ],

[ 7, 8, 9 ]

]輸出: [1,2,4,7,5,3,6,8,9]

解釋:

說明:

給定矩陣中的元素總數不會超過 100000 。

關鍵在於找規律,將規律歸類,但這並不容易。在找規律的時候往往更大的矩陣更容易發現,因為更大的場景會將主要規律凸顯出來,自己可以畫乙個4行4列或5行5列的矩陣找下。

規律就兩類,一類是斜上以及斜上到頂後向哪走;另一類是斜下以及斜下到底後向哪走。

class solution:

def finddiagonalorder(self, matrix: list[list[int]]) -> list[int]:

if not matrix:

return

r = len(matrix)

c = len(matrix[0])

i = j = 0

l = [matrix[0][0]]

while len(l) != r * c:

# 第一類:斜上,這也是初始步驟

# 首先能斜上就先斜上

while i - 1 >= 0 and j + 1 < c:

i = i - 1

j = j + 1

# 斜上到頂能右就右,不能右就下

if j + 1 < c:

j = j + 1

elif i + 1 < r:

i = i + 1

# 第二類:斜下

# 能斜下就斜下

while i + 1 < r and j - 1 >= 0:

i = i + 1

j = j - 1

# 斜下到底能下就下,不能下就右

if i + 1 < r:

i = i + 1

elif j + 1 < c:

j = j + 1

return l

對角線遍歷

給定乙個含有 m x n 個元素的矩陣 m 行,n 列 請以對角線遍歷的順序返回這個矩陣中的所有元素,對角線遍歷如下圖所示。1 索引和為偶數 元素在第一行,往右走 元素在最後一列,往下走 其他情況,往右上走 2 索引和為奇數 元素在第一列,往下走 元素在最後一行,往右走 其他情況,往左下走 clas...

golang 對角線遍歷

給定乙個含有 m x n 個元素的矩陣 m 行,n 列 請以對角線遍歷的順序返回這個矩陣中的所有元素,對角線遍歷如下圖所示。示例 輸入 1,2,3 4,5,6 7,8,9 輸出 1 確定總劃線次數,m n 1 記錄每道線起點座標 根據起始點座標推算出該線上的所有元素 根據奇偶性決定線元素是否需要翻轉...

phpExcel列資料自動換行的方法

文字 str 文字1 chr 10 文字2 寫入單元格資料 o bj phpe xcel ge tact ives heet se tcel lval ue a1 objphpexcel getactivesheet setcellvalue a1 objphp exce l ge tact ive...