资讯专栏INFORMATION COLUMN

leetcode48 Rotate Image 90度旋转数组

melody_lql / 1563人阅读

摘要:每一次的旋转,其实都是正方形上的四个元素之间的相互替换。所以本质上我们只需遍历每种长度正方形上的一条边,就可以完成这个正方形的旋转。最后实现整个数组矩阵的旋转代表正方形的起始位置,即,,即,代表当前正方形上的一条边上的一个点。

题目要求
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?

也就是在不创造一个新的数组的情况下,将一个二维数组中的元素顺时针旋转90度

解题思路

其实如果我们现在假设有一个N*N的数组,我们可以将其想象为N个正方形,每个正方形的边长分别为N,N-1,N-2...2,1。每一次的旋转,其实都是正方形上的四个元素之间的相互替换。所以本质上我们只需遍历每种长度正方形上的一条边,就可以完成这个正方形的旋转。最后实现整个数组矩阵的旋转

    public void rotate(int[][] matrix) {
        int length = matrix.length;
        //i代表正方形的起始位置,i=0即(0,0),i=1即(1,1)
        for(int i = 0 ; i < length/2 ; i++){
            //j代表当前正方形上的一条边上的一个点。
            for(int j = i ; j


想要了解更多开发技术,面试教程以及互联网公司内推,欢迎关注我的微信公众号!将会不定期的发放福利哦~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70029.html

相关文章

  • leetcode 48 Rotate Image

    摘要:题目详情这道题目要求我们对一个正方形矩阵进行顺时针度的翻转。并且要求不声明额外的空间,不能新建二维数组。输入数组旋转后的输入数组想法这道题因为要求在位。所以我们需要找到一种解法,使得每次操作都是交换两个元素的位置,最后实现整个矩阵的旋转。 题目详情 You are given an n x n 2D matrix representing an image.Rotate the ima...

    kgbook 评论0 收藏0
  • LeetCode48.旋转图像 JavaScript

    摘要:给定一个的二维矩阵表示一个图像。将图像顺时针旋转度。说明你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: 给定 matrix = [ [1,2,3]...

    tabalt 评论0 收藏0
  • 【刷算法】LeetCode.48-旋转图像

    摘要:题目描述给定一个的二维矩阵表示一个图像。将图像顺时针旋转度。说明你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 题目描述 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: 给定 matrix = [...

    mdluo 评论0 收藏0
  • 解决移动端iOS下上传图片被旋转问题。

    摘要:下上传图片被旋转解决方法用既然是解决问题,那就简单说一下,直接上代码方式使用在上可以直接调用照相机拍照,竖拍出来的图片都会变成横图思路获取到照片拍摄的方向角,对非横拍的照片使用的进行角度旋转修正。 iOS下html上传图片被旋转 解决方法用exif.js+canvas既然是解决问题,那就简单说一下,直接上代码! html方式使用在iOS上可以直接调用照相机拍照,竖拍出来的图片都会变成横...

    zhunjiee 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<