LeetCode 48. 旋轉影像
題目內容
給定一個 n × n 的二維矩陣表示一個影像。
將影像順時針旋轉 90 度。
說明:
你必須在原地旋轉影像,這意味著你需要直接修改輸入的二維矩陣。請不要使用另一個矩陣來旋轉影像。
示例 1:
給定 matrix =
[
[1,2,3],
[4,5,6],
[7,8,9]
],
原地旋轉輸入矩陣,使其變為:
[
[7,4,1],
[8,5,2],
[9,6,3]
]
示例 2:
給定 matrix =
[
[ 5, 1, 9,11],
[ 2, 4, 8,10],
[13, 3, 6, 7],
[15,14,12,16]
],
原地旋轉輸入矩陣,使其變為:
[
[15,13, 2, 5],
[14, 3, 4, 1],
[12, 6, 8, 9],
[16, 7,10,11]
]
解題思路
以旋轉為思路編寫程式碼。
我的程式碼冗餘很多,不是很美麗。
解題程式碼:
class Solution {
public:
void rotate(vector<vector<int>>& matrix) {
int nn = matrix.size();
int m = 0; int n = 0;
int i; int j;
while (nn > 1)
{
vector<int> t(0);
for (i = m, j = n; j < (nn + n-1); j++)
{
t.push_back(matrix[i][j]);
}
for (i = m, j = (nn + n - 1); i < (m + nn-1); i++)
{
int tem = matrix[i][j]; matrix[i][j] = t[i - m];
t[i - m] = tem;
}
for (j = 0, i = m + nn - 1; j < nn-1; j++)
{
int tem = matrix[i][nn + n - 1 - j]; matrix[i][nn + n - 1 - j] = t[j];
t[j] = tem;
}
for (i = 0, j = n; i < nn-1; i++)
{
int tem = matrix[nn + m - 1 - i][j]; matrix[nn + m - 1 - i][j] = t[i];
t[i] = tem;
}
for (i = m, j = 0; (j < nn-1); j++)
{
matrix[m][n + j] = t[j];
}
nn -= 2; m++; n++;
}
}
};
相關文章
- LeetCode:旋轉影像LeetCode
- LeetCode-048-旋轉影像LeetCode
- (五)旋轉影像
- 力扣-48 旋轉影像力扣
- 影像縮放、旋轉、翻轉、平移
- LeetCode 189 旋轉陣列LeetCode陣列
- 【LeetCode】796. 旋轉字串LeetCode字串
- 【LeetCode】189. 旋轉陣列LeetCode陣列
- LeetCode-189-旋轉陣列LeetCode陣列
- 影像旋轉的FPGA實現(一)FPGA
- 【Leetcode】61.旋轉連結串列LeetCode
- LeetCodeHot100 73. 矩陣置零 54. 螺旋矩陣 48. 旋轉影像 240. 搜尋二維矩陣 IILeetCode矩陣
- LeetCode 33——搜尋旋轉排序陣列LeetCode排序陣列
- leetcode 61 旋轉連結串列 c++LeetCodeC++
- 不適用imrotate 的影像旋轉實現
- 高效能運算-NEON-影像旋轉
- LeetCode 81——搜尋旋轉排序陣列 IILeetCode排序陣列
- LeetCode33. 搜尋旋轉排序陣列LeetCode排序陣列
- LeetCode#33搜尋旋轉排序陣列LeetCode排序陣列
- LeetCode33 搜尋旋轉排序陣列LeetCode排序陣列
- 【LeetCode(Java) - 33】搜尋旋轉排序陣列LeetCodeJava排序陣列
- LeetCode每日一題: 旋轉陣列(No.189)LeetCode每日一題陣列
- leetCode33搜尋旋轉排序陣列LeetCode排序陣列
- 影像旋原始碼原始碼
- C# 簡易影像處理(包括平移,旋轉,翻轉, 裁切)C#
- [轉]旋轉矩陣:點旋轉和座標系旋轉矩陣
- leetcode, LC68:旋轉排序陣列搜尋LeetCode排序陣列
- OpenCV計算機視覺學習(11)——影像空間幾何變換(影像縮放,影像旋轉,影像翻轉,影像平移,仿射變換,映象變換)OpenCV計算機視覺
- 旋轉字串字串
- 旋轉相簿
- 將圖片旋轉(這裡不是旋轉imageView)View
- 三維座標系旋轉——旋轉矩陣到旋轉角之間的換算矩陣
- LeetCode-153-尋找旋轉排序陣列中的最小值LeetCode排序陣列
- 【LeetCode】153. 尋找旋轉排序陣列中的最小值LeetCode排序陣列
- leetcode 劍指 Offer 48. 最長不含重複字元的子字串LeetCode字元字串
- AVL樹旋轉
- 48. Rotate Image
- 旋轉連結串列