力扣 题目48--旋转图像

无聊的阿库娅·2022-05-11 14:14·16 次阅读

力扣 题目48--旋转图像

题目


题解

虽然一开始走了弯路 但是竟然莫名其妙发现了规律

即斜反转然后轴反转

斜反转以右对角线 反转 轴反转以中线反转

代码

复制代码
 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 class Solution {
 5 public:
 6     void rotate(vector<vector<int>>& matrix) {
 7         //斜对称
 8         int len= matrix.size();
 9         for (int i = 0; i < matrix.size(); i++) {
10             for (int j = 0; j < len; j++) {
11                 int replace = matrix[i][j];
12                 matrix[i][j]=matrix[matrix.size()-1 - j][matrix.size()-1 - i];
13                 matrix[matrix.size() - 1 - j][matrix.size() - 1 - i]= replace;
14             }
15             len = len - 1;
16         }
17        //轴对称
18         for (int i = 0; i < matrix.size() / 2; i++) {
19             vector<int> replace = matrix[i];
20             matrix[i] = matrix[matrix.size() - 1 - i];
21             matrix[matrix.size() - 1 - i] = replace;
22         }
23     }
24 };
25 
26 int main() {
27     Solution  sol;
28     vector<vector<int>>matrix = { {1,2,3,4,5} ,{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25} };
29     for (int i = 0; i < matrix.size(); i++) {
30         for (int j = 0; j < matrix[0].size(); j++) {
31             cout << matrix[i][j] << " ";
32         }
33         cout << endl;
34     }
35     cout << endl;
36     sol.rotate(matrix);
37     for (int i = 0; i < matrix.size(); i++) {
38         for (int j = 0; j < matrix[0].size(); j++) {
39             cout << matrix[i][j] << " ";
40         }
41         cout << endl;
42     }
43 }
View Code
复制代码

 

posted @   无聊的阿库娅  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
今はその剣を置いて - 川井憲次
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.
  1. 1 どんどんドーナツどーんと行こう! 浜口史郎
  2. 2 パティのテーマ 神前暁
  3. 3 今はその剣を置いて 川井憲次
点击右上角即可分享
微信分享提示