題型總結 矩陣旋轉型別題從基礎到高階總結

2021-10-10 22:38:27 字數 1311 閱讀 7410

最近在做學校關於陣列的題目,趁此把一些矩陣變化旋轉輪轉的題型總結一波。

之前寫過一篇關於旋轉矩陣的題解

旋轉矩陣——陣列、語句基本功考察

可以說這類題目並沒有考到什麼很深奧的演算法,但著實考驗對基本功的掌握情況。一不小心乙個很簡單的題目就會被你寫出一百多行**出來。

先看一道題目:

/**********

【習題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十套真題題型總結

數學二輪刷題 十套真題題型總結 選填題解題方法選擇順序 特殊值法,代入法 填空法不適用 設變數法,若未能排除完就推導吧 極限 拉馬泰,積分洛 等價無窮小量比較 泰勒主部 幾何積分比較 級數斂散性判斷 級數求和 麥克勞林展開式秒殺 反常積分斂散性判斷 二元復合偏導 二階常係數線性齊次微分方程通解形式 ...