劍指Offer之之字行列印矩陣

2021-09-29 13:13:53 字數 931 閱讀 8606

這道題的關鍵是將陣列的列印分為多個對角線的列印,在對角線的列印是雙向的

且用乙個boolean型別的變數用來控制是從上到下,還是從下到上

//答應對角線上的元素,可以從右上到左下,up為true,從左下到右上,false為左下到右上

//給定乙個右上角的點和左下角的點

public static void printlevel(int m, int row1, int col1, int row2, int col2,

boolean f)

} else

} }

而整體的列印的是用二個點,分別開始指向陣列第乙個點,乙個往右運動再往下運動完,乙個往下運動再往右運動完

這樣每次二個點都可以形成對角線,也就能依次將陣列按之字型列印了。

} //答應對角線上的元素,可以從右上到左下,up為true,從左下到右上,false為左下到右上

//給定乙個右上角的點和左下角的點

public static void printlevel(int m, int row1, int col1, int row2, int col2,

boolean f)

} else

} }public static void main(string args) ,,};

printmatrixzigzag(arr);

}}

劍指offer之順時針列印矩陣

問題 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字,例如,如果輸入如下矩陣 1,2,3,4,5,6,7,8,9,則依次輸出1,2,3,6,9,8,7,4,5 思路 利用迴圈,控制迴圈條件即可 具體 如下 c class solution public vectorprintmatri...

劍指offer之順時針列印矩陣

定義四個變數代表範圍,up down left right 向右走存入整行的值,當存入後,該行再也不會被遍歷,代表上邊界的 up 加一,同時判斷是否和代表下邊界的 down 交錯 向下走存入整列的值,當存入後,該列再也不會被遍歷,代表右邊界的 right 減一,同時判斷是否和代表左邊界的 left ...

劍指Offer之楊氏矩陣

即對於矩陣table有table i j table i j 1 table i j table i 1 j 我們也稱這樣的矩陣為楊氏矩陣。給出判定某個數是否存在該矩陣中的高效演算法。分析 為了便於複雜度分析,我們暫時假定該矩陣為大小n n。如下圖所示為乙個楊氏矩陣。二分搜尋解法 許多人都觀察到了矩...