最近在做學校關於陣列的題目,趁此把一些矩陣變化旋轉輪轉的題型總結一波。
之前寫過一篇關於旋轉矩陣的題解
旋轉矩陣——陣列、語句基本功考察
可以說這類題目並沒有考到什麼很深奧的演算法,但著實考驗對基本功的掌握情況。一不小心乙個很簡單的題目就會被你寫出一百多行**出來。
先看一道題目:
/**********
【習題7.060】編寫函式將乙個nxn的二維陣列按「次對角線」翻轉。
例如:翻轉前的陣列 翻轉後的陣列
1 2 3 9 6 3
4 5 6 ---> 8 5 2
7 8 9 7 4 1
**********/
emmm,一開始看到這道題目的時候,我還真的想直接翻轉,但動手寫的時候發現根本無從下手,找不到乙個公式可以讓所有的對角線翻轉。
借鑑上面我寫過的旋轉矩陣——陣列、語句基本功考察
我們可以假翻轉,翻轉的輸出就好了!
然而題目又不要求輸出,那我們就先翻轉到另乙個陣列,然後再拷貝回來就好啦
**如下:
void invert(char a[n][n])
還有一道母子題,可以練練手
/**********
【習題7.068】編寫函式將乙個nxn的二維陣列的
周邊元素「逆時針」輪轉1位。
例如:輪轉前的陣列 輪轉後的陣列
1 2 3 2 3 6
4 5 6 ---> 1 5 9
7 8 9 4 7 8
**********/
當然,還有下面這種比較簡單的,即可以真翻轉也可以假翻轉
/**********
【習題7.072】編寫函式將乙個nxn的二維陣列a的元素
按行向右輪轉1位。
例如:輪轉前的陣列 輪轉後的陣列
1 2 3 3 1 2
4 5 6 ---> 6 4 5
7 8 9 9 7 8
**********/
void turningright(char a[n][n])
//防止最後乙個也是num[i] == num[i-1]而導致沒有記錄到ans裡面
if ( sum>ans )
ans = sum;
cout << ans << endl;
} }}
Sql Server刷題題型總結
針對返回為空白,進行處理 例子 查詢第二高的工資 select nullif select max salary from employee where salary select max salary from employee null as secondhighestsalary 分頁同時獲取...
刷題67 旋轉矩陣
給你一幅由 n n 矩陣表示的影象,其中每個畫素的大小為 4 位元組。請你設計一種演算法,將影象旋轉 90 度。不占用額外記憶體空間能否做到?示例 1 給定 matrix 1,2,3 4,5,6 7,8,9 原地旋轉輸入矩陣,使其變為 7,4,1 8,5,2 9,6,3 示例 2 給定 matrix...
數學301十套真題題型總結
數學二輪刷題 十套真題題型總結 選填題解題方法選擇順序 特殊值法,代入法 填空法不適用 設變數法,若未能排除完就推導吧 極限 拉馬泰,積分洛 等價無窮小量比較 泰勒主部 幾何積分比較 級數斂散性判斷 級數求和 麥克勞林展開式秒殺 反常積分斂散性判斷 二元復合偏導 二階常係數線性齊次微分方程通解形式 ...