`
cozilla
  • 浏览: 92117 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

[Leetcode] Rotate Image

 
阅读更多
Rotate ImageMar 18 '124182 / 9471

You are given an n x n 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

Follow up:
Could you do this in-place?

 

这题我第一次做时候,实现的非常复杂。人肉实现rotate。code很麻烦。

后来偶然间看到同学的做法,很妙:

rotate(M) = traspose(M)后,swap列

例如:

123

456 

789

先transpose:

147

258

369

然后对调第1,3列

741

852

963

OK!

 

class Solution {
public:
    void rotate(vector<vector<int> > &matrix) {
        int len = matrix.size();
        if (len == 0) return ;
        
        for (int i = 0; i < len; i++) {
            for (int j = i; j < len; j++) {
                swap(matrix[i][j], matrix[j][i]);
            }
        }
        int i = 0, j = len - 1;
        while (i < j) {
            for (int k = 0; k < len; k++) {
                swap(matrix[k][i], matrix[k][j]);
            }
            i++, j--;
        }
    }
};

 

分享到:
评论

相关推荐

    C语言-leetcode题解之48-rotate-image.c

    c语言入门 C语言_leetcode题解之48-rotate-image.c

    js-leetcode题解之48-rotate-image.js

    js js_leetcode题解之48-rotate-image.js

    LeetCode最全代码

    # [LeetCode](https://leetcode.com/problemset/algorithms/) ![Language](https://img.shields.io/badge/language-Python%20%2F%20C++%2011-orange.svg) [![License]...

    LeetCode题解(java语言实现).pdf

    * Rotate Image:该题目要求将二维矩阵旋转90度,实现方法使用了循环移位的方法。 五、其他 * Set Matrix Zeroes:该题目要求将矩阵中的零元素所在的行和列置零,实现方法使用了迭代算法。 * Search Insert ...

    leetcode答案-LeetCode:LeetCode上的题解

    leetcode 答案 LeetCode 该项目是 LeetCode 上的题解。 src/easy/路径下都是难度为 ..._48_RotateImage这个类名。运行效果如下图所示: 把这个类名复制一下,新建类的时候直接把类名粘贴过去就可以了。

    戳气球leetcode-leetcode:leetcode

    leetcode category other hot keywords:Palindrome(mic), Subsequence Array 螺旋矩阵Spiral Matrix 顺时针打印矩阵 Next Permutation Product of Array Except Self 189.rotate-array 283.move-zero Range Sum ...

    _leetcode-python.pdf

    - Rotate Image: 给定一个二维矩阵,将它顺时针旋转90度。 - Group Anagrams: 组合所有字母异位词,即将字母顺序不同但字母组合相同的单词分组。 - Pow(X, n): 实现x的n次幂运算,需要考虑各种边界情况和性能优化。 ...

    javalruleetcode-LeetCode::lollipop:个人LeetCode习题解答仓库-多语言

    java lru leetcode :ice_cream: LeetCode Kindem 的个人 LeetCode 题解仓库,欢迎交流学习。 下面的目录中 ...Rotate Image 53 Maximum Subarray 55 Jump Game 56 Merge Intervals 64 Minimum Path Sum 73

    Amazon亚麻 最新leetcode tag题

    题目如“RotateImage”、“FindAllAnagramsinaString”、“LongestPalindromicSubstring”、“SerializeandDeserializeBinaryTree”、“FirstUniqueCharacterinaString”都是对这些基础能力的考察。 3. **树和图的...

    leetcode1004-leetcode:leetcode

    Rotate Image (M) -&gt; 2 73. Set Matrix Zeroes (M) 1. Two Sum (E) 167. Two Sum II - Input array is sorted (E) 653. Two Sum IV - Input is a BST (E) -&gt; 2 26. Remove Duplicates from Sorted Array (E) 27. ...

    LeetCode 精选 TOP 面试题(2)1

    Rotate Image)** 这个问题涉及到二维数组的旋转操作。题目的目标是将一个矩阵顺时针旋转90度。一个有效的解决方案是首先对矩阵的上半部分进行翻转,然后对整个矩阵的每一行进行反向操作。这里的时间复杂度是O(n^2...

    leetcode-cpp刷题

    - **2.1.16 Rotate Image** - 将一个正方形矩阵顺时针旋转90度。 - 实现思路:先转置矩阵,然后逐行反转。 - **2.1.17 Plus One** - 给定一个表示大整数的非负数数组,将其加一。 - 实现思路:从数组末尾开始...

    c++-c++编程基础之leetcode题解第48题旋转图像.zip

    在本压缩包中,我们关注的是C++编程基础与LeetCode算法题目的结合,特别是针对LeetCode第48题——“旋转图像”(Rotate Image)的解决方案。这是一道典型的矩阵操作问题,对于理解C++中的数组和二维矩阵操作具有重要...

    leetcode2sumc-LeetCode_py:LeetCode_py

    RotateImage 153 - SpiralMatrix 顺时针旋转矩阵 90 度。 首先翻转矩阵,交换对称153是直接的 01/31/2020 75 - SortColors 167 - TwoSum2 DCP 75 是一个双指针问题,如果当前项为 0,则使用 p1 p2 指向开始和结束,...

    leetcode跳跃-leetcode:leetcode解题之路

    旋转图像](./Array/rotate-image.md) Heap 堆 [0023 合并K个排序链表](./Heap/merge-k-sorted-lists.md) String 字符串 [0006 Z字形变换](./String/zigzag-conversion.md) [0030 串联所有单词的子串](./String/...

    lrucacheleetcode-leetcode:记录自己的leetcode解题历程~Welcomeeveryonetocomment:grinning_face:~

    Rotate Image 344. Reverse String 414. Third Maximum Number 448. Find All Numbers Disappeared in an Array 66. Plus One 238. Product of Array Except Self 697. Degree of an Array 849. Maximize ...

    Leetcode代码以及解答(2)

    Rotate Image **知识点:** - **问题描述:** - 将一个 `n x n` 的图像顺时针旋转 90 度。 - **解决方案分析:** - **原地旋转:** - 先将矩阵沿主对角线翻转。 - 再将每一行反转。 - 逆时针旋转 90 度的...

Global site tag (gtag.js) - Google Analytics