要完成的事情,就像下圖:
話不多說,直接上python實現**與結果展示:
# 輸出遍歷的索引與其對應的值
a =[[1
,2,3
],[4
,5,6
],[7
,8,9
]]n =len
(a)for i in
range
(n+n-1)
:for j in
range
(i+1):
k = i-j
if k=
0and j
print
("對應索引:"
,j,k,
" 對應值:"
情況如下:
原以為這一種的解決方式會和上一種的一樣的簡單,但是嘗試一下失敗了,只有乙個「曲線救國」的解決辦法:依據索引關係輸出結果
自己的python實現**與結果展示:
a =[[
1,2,
3],[
4,5,
6],[
7,8,
9]]# 得到下標索引
size =
len(a)
list_i =
# 第一索引
list_j =
# 第二索引正序
l1 =
# 第二索引逆序
for m in
range(2
*size-1)
:for n in
range
(m+1):
k = m-n
if k=
0and n
print
("第一索引i:\n"
, list_i)
print
("第二索引j:"
)for i in
range
(len
(list_j)):
a = list_j.pop(
)print
(l1,
"\n"*2
,"輸出結果如下:"
前輩jiaobuchong的python實現**與結果展示:
arr1 =[[
1,2,
3,4]
,[5,
6,7,
8],[
9,10,
11,12]
,[13,
14,15,
16]]for each_arr in arr1:
print
(each_arr)
tem_arr =
# 用來記錄陣列值
rows =
len(arr1)
cols =
len(arr1[0]
)def
isvalidindex
(x, n)
:return
(x >=
0and x < n)
# 每一行的每個值的陣列下標的差都一樣,
for i in
range
(cols *2-
1):# 共輸出 cols * 2 - 1 行
diff = cols - i -
1# 每一行的差
for j in
range
(cols)
:# 陣列中每乙個值的下標範圍是0到cols
k = j - diff # 通過乙個下標值計算另乙個下標值
if isvalidindex(k, rows)
:# 剩下就是判斷這些下標值是否滿足當前的情況, 這一步不怎麼好理解
對角線列印二維陣列問題
最近在網上看到這樣一道面試題 二維陣列 n n 沿對角線方向,從右上角列印到左下角如n 4 4 4二維陣列 列印順序 4 3 8 2 7 12 1 6 11 16 5 10 15 9 14 13 網上已經有各種解法,也有現成的程式,但是個人都不是很滿意,網路上的思路都不是很清晰。現在提供一種分析思路...
LeetCode二維陣列對角線遍歷
之前刷leetcode都是直接進題庫刷題,今天點開探索才發現還有這種模組化的入門教程,就開啟陣列與字串那塊開始學習。到二維陣列的時候,有一道練習題是這樣的 給定乙個含有 m x n 個元素的矩陣 m 行,n 列 請以對角線遍歷的順序返回這個矩陣中的所有元素,對角線遍歷如下圖所示。樣例輸入 1,2,3...
二維陣列查詢python實現
二維陣列查詢 劍指offer經典面試題 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列array m n 和乙個整數k,判斷陣列中是否含有該整數。比較最右邊一列第乙個元素array max 0 與目標數字k大小,存在以...