題目:有乙個二維陣列(n*n),寫程式實現從右上角到左下角沿主對角線方向列印。給定乙個二位陣列arr及題目中的引數n,請返回結果陣列。
測試樣例:
[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]],4返回:[4,3,8,2,7,12,1,6,11,16,5,10,15,9,14,13]分析:沿著主對角線方向,每次元素下標都要各加1,直到超出邊界;右上角的每次邊界後都是列減一,左下角每次邊界後都是行加1,對於這個邊界條件就是行行有沒有到n。
vectorarrayprint(vector> arr, int n)
if(j==n&&icol--;
if(i==n)//當行超出時,即主對角線那條完了,則看下一行(列不變)
row++;
}return vec;
}
二維陣列列印螺形
順時針 public static int creatematrix int n,int m else if direction down else if direction left else if direction up else return matrix public static voi...
順時針列印二維陣列
如果看不懂,可參照劍指offer128頁 include include using namespace std 方法一 傳vector 需要傳引用 方法二 傳二維指標 按圈給陣列賦值 void printmatrixincircle int vector numbers,int rows,int ...
順時針列印二維陣列
一 題目 要求 輸入乙個陣列,從外到裡順時針列印陣列中的元素,例如輸入矩陣 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11,10,9,5,6,7 二 思路 按圈列印,記錄每圈的起始位置 行號 列號 特殊行或列需要判斷防止出現空指標異常。三 public c...