专栏首页和蔼的张星的图像处理专栏161. 旋转图像交换加转置

161. 旋转图像交换加转置

给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。

样例 给出一个矩形[[1,2],[3,4]],90度顺时针旋转后,返回[[3,1],[4,2]]

交换加转置

方阵旋转九十度可以通过换行加转置来完成,刚好vector是可以用swap函数的,对于单个的元素肯定也是可以的。这样想来就没什么难得了,程序简洁:

  void rotate(vector<vector<int>> &matrix) {
        int sz=matrix.size();
        if(sz<=1)
        return ;
        for(int i=0;i<sz/2;i++)
        {
            swap(matrix[i],matrix[sz-1-i]);
        }
        for(int i=0;i<sz;i++)
        {
            for(int j=i;j<sz;j++)
            {
                swap(matrix[i][j],matrix[j][i]);
            }
        }
        // write your code here
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 162. 矩阵归零先找为零的位置,再分别置零

    给定一个m×n矩阵,如果一个元素是0,则将其所在行和列全部元素变成0。 需要在原矩阵上完成操作。

    和蔼的zhxing
  • 791. 合并数字贪心算法

    给出n个数,现在要将这n个数合并成一个数,每次只能选择两个数a,b合并,每次合并需要消耗a+b的能量,输出将这n个数合并成一个数后消耗的最小能量。

    和蔼的zhxing
  • 70. 二叉树的层次遍历 II借助stack

    给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)。 原题见这里 这是另外一个题的扩展,见69题...

    和蔼的zhxing
  • c++STL之常用拷贝和替换算法

    绝命生
  • 树链剖分详解

    前言 树链剖分是什么? 树链剖分,说白了就是一种让你代码不得不强行增加1k的数据结构-dms 个人理解:+1:joy: 有什么用? 证明出题人非常毒瘤 ...

    attack
  • LeetCode 498. 对角线遍历

    给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。

    Michael阿明
  • Android自定义GLSurfaceView

    当我们需要把同一个场景渲染到不同的Surface上时,此时系统GLSurfaceView 就不能满足需求了,所以我们需要自己创建EGL环境来实现渲染操作。 注意...

    曾大稳
  • [译]C#8.0中一个使接口更加灵活的新特性-默认接口实现

    如果这个接口又在多个项目中使用了,那么进行更改将需要付出更多的精力,以确保它不会在其他地方运行失败。

    依乐祝
  • weex-23-clipboard模块

    酷走天涯
  • Java基础总结大全(3)

    8、Map集合和Collection集合的区别? 1, Map中一次存储是键值对。 Collection中一次存储是单个元素。 2, Map的存储使用...

    Java学习

扫码关注云+社区

领取腾讯云代金券