当前位置: 首页 > news >正文

leetcode 48. 旋转图像

题目如下
在这里插入图片描述

观察交换规律我们可以看到,第一行第一个转移到的的最后一列的第一个。

即f(r,c) 转移到f(c,n - r - 1)
我们可以把r c赋值成(c,n - r - 1)可以发现一个位置走一圈总共有四个式子。
我们可以把第一个位置用t暂存随后逆推公式把后面的轮换上来。
  temp = matrix[i][j];
                matrix[i][j] = matrix[n - j - 1][i];
                matrix[n - j - 1][i] = matrix[n - i - 1][n - j - 1];
                matrix[n - i - 1][n - j - 1] = matrix[j][n - i - 1];
                matrix[j][n - i - 1] = temp;

通过代码

class Solution {
public:
    void rotate(vector<vector<int>>& matrix) {
        int n = matrix.size();
        int temp;
        for (int i = 0; i < n / 2; ++i) {
            for (int j = 0; j < (n + 1) / 2; ++j) {
                temp = matrix[i][j];
                matrix[i][j] = matrix[n - j - 1][i];
                matrix[n - j - 1][i] = matrix[n - i - 1][n - j - 1];
                matrix[n - i - 1][n - j - 1] = matrix[j][n - i - 1];
                matrix[j][n - i - 1] = temp;
            }
        }
    }
};

在这里插入图片描述

相关文章:

  • 《白帽子讲 Web 安全》之移动 Web 安全
  • SpringCloud系列教程(八):服务网关Gateway
  • 基于JavaWeb开发的Java+SpringBoot+vue+element实现物流管理系统
  • 基于Leaflet和SpringBoot的全球国家综合检索WebGIS可视化
  • python多线程之Event机制笔记
  • Hutool - JWT:轻松玩转 JSON Web Token
  • 基于springboot+vue实现的宠物救助及领养平台(源码+L文+ppt)43-21
  • C++ 标准库容器的常用成员函数
  • 【语法】C++中string类中的两个问题及解答
  • 计算机毕业设计SpringBoot+Vue.js音乐网站(源码+文档+PPT+讲解)
  • 【Leetcode 每日一题】132. 分割回文串 II
  • Linux篇——工具
  • 每天一个Flutter开发小项目 (9) : Flutter状态管理进阶 - Provider构建你的简易购物车应用
  • ViewPager2跟ViewPager的区别
  • 基于单片机的智能扫地机器人
  • 完美解锁便捷版!
  • Linux:文件系统
  • 【Linux网络#10】:Https协议原理
  • hatitat-sim的agent.py各部分组成
  • 深入理解推理语言模型(RLM)
  • 英国6月初将公布对华关系的审计报告,外交部:望英方树立正确政策导向
  • 媒体:中国女排前队长朱婷妹妹被保送浙大受质疑,多方回应
  • 体坛联播|巴萨提前2轮西甲夺冠,郑钦文不敌高芙止步4强
  • 乌克兰谈判代表团由12人组成,乌防长率领
  • 吉利汽车一季度净利润大增264%,称整合极氪后实现整体效益超5%
  • 黑龙江省政府副秘书长许振宇,拟任正厅级领导