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
- LeetCodeHot100 73. 矩陣置零 54. 螺旋矩陣 48. 旋轉影像 240. 搜尋二維矩陣 IILeetCode矩陣
- 影像旋轉的FPGA實現(一)FPGA
- 【LeetCode】796. 旋轉字串LeetCode字串
- 影像旋原始碼原始碼
- 不適用imrotate 的影像旋轉實現
- LeetCode 189 旋轉陣列LeetCode陣列
- 影像的灰度變換——影像旋轉、影像的反色處理、對比度拉伸
- LeetCode-189-旋轉陣列LeetCode陣列
- 【Leetcode】61.旋轉連結串列LeetCode
- 【LeetCode】189. 旋轉陣列LeetCode陣列
- C# 簡易影像處理(包括平移,旋轉,翻轉, 裁切)C#
- 13 款最棒的 jQuery 影像 360° 旋轉外掛jQuery
- leetcode 61 旋轉連結串列 c++LeetCodeC++
- LeetCode 33——搜尋旋轉排序陣列LeetCode排序陣列
- 10個有用的jQuery360度旋轉影像外掛jQuery
- leetCode33搜尋旋轉排序陣列LeetCode排序陣列
- LeetCode 81——搜尋旋轉排序陣列 IILeetCode排序陣列
- LeetCode33 搜尋旋轉排序陣列LeetCode排序陣列
- LeetCode#33搜尋旋轉排序陣列LeetCode排序陣列
- 【LeetCode(Java) - 33】搜尋旋轉排序陣列LeetCodeJava排序陣列
- LeetCode33. 搜尋旋轉排序陣列LeetCode排序陣列
- OpenCV計算機視覺學習(11)——影像空間幾何變換(影像縮放,影像旋轉,影像翻轉,影像平移,仿射變換,映象變換)OpenCV計算機視覺
- LeetCode每日一題: 旋轉陣列(No.189)LeetCode每日一題陣列
- leetcode, LC68:旋轉排序陣列搜尋LeetCode排序陣列
- 旋轉變換(一)旋轉矩陣矩陣
- leetcode 劍指 Offer 48. 最長不含重複字元的子字串LeetCode字元字串
- 旋轉字串字串
- 旋轉相簿
- 將圖片旋轉(這裡不是旋轉imageView)View
- [LeetCode] Search in Rotated Sorted Array 在旋轉有序陣列中搜尋LeetCode陣列
- 三維座標系旋轉——旋轉矩陣到旋轉角之間的換算矩陣
- 旋轉矩陣矩陣
- 矩陣旋轉矩陣
- Activity的旋轉
- 三維旋轉:旋轉矩陣,尤拉角,四元數矩陣
- [LeetCode] Find Minimum in Rotated Sorted Array (包含遞增和遞減旋轉)LeetCode