leetcode C++ 48. 旋转图像 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。
生活随笔
收集整理的這篇文章主要介紹了
leetcode C++ 48. 旋转图像 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、思路:
? ? ? ?某一個的轉化后的路徑變化:(i,j)-->(j,n-1-i)-->(n-1-i,n-1-j)-->(i,j), 所以轉變一個,就等于轉變4個,n為偶數數時,遍歷n*n/4;n為奇數時,遍歷(n*n-1)/4,因為中心不會變化
二、代碼:
class Solution { public:void rotate(vector<vector<int>>& matrix) {int n = matrix.size();for (int i = 0; i < (n + 1) / 2; i++){for (int j = 0; j < (n) / 2; j++) {int temp = matrix[i][j];matrix[i][j] = matrix[n - 1 - j][i];matrix[n - 1 - j][i] = matrix[n - 1 - i][n - 1 - j];matrix[n - 1 - i][n - 1 - j] = matrix[j][n - 1 - i];matrix[j][n - 1 - i] = temp;}}} };?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的leetcode C++ 48. 旋转图像 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode C++ 链表 24.
- 下一篇: leetcode C++ 6. Z 字形