初级算法-数组-旋转图像

作者: coenen | 来源:发表于2021-08-05 07:18 被阅读0次
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。
提示:
matrix.length == n
matrix[i].length == n
1 <= n <= 20
-1000 <= matrix[i][j] <= 1000

力扣 旋转图像.jpg
摘一个示例做个说明.
示例 1:
输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出:[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]
条件分析:
  1. 原地修改 -> 在原数组上操作,不能开辟新空间
解决思路1:
  1. 根据分析1,说明是可变数组
  2. 顺时针旋转90度,说明底部的转到左边,左边的转到上边,上边的转到右边.依次转动.
先根据图示,我们可以先采用上下交换,然后再左上,右下对角线交换即可

代码实现-Swift版本:

思路1代码:

func rotate(_ matrix: inout [[Int]]) {
    // 先上下换,再对角线交换
    for i in 0 ..< matrix.count/2 {
        let tmp = matrix[i]
        matrix[i] = matrix[matrix.count - 1 - i]
        matrix[matrix.count - 1 - i] = tmp
    }
    
    for i in 0 ..< matrix.count {
        for  j in i + 1 ..< matrix[i].count {
            let tmp = matrix[i][j]
            matrix[i][j] = matrix[j][i]
            matrix[j][i] = tmp
        }
    }
}
旋转图像提交结果.jpg

测试用例:

var array = [[1,2,3],[4,5,6],[7,8,9]]

到此力扣初级算法数组相关算法已经展示完了,下面会继续写一下数组相关的算法.然后再开启新的篇章.按类梳理,以点带面,以面带全,争取早日修成神功.

考察要点:

  • 数组
  • 数学
  • 矩阵

相关文章

  • 初级算法-数组-旋转图像

    给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地[h...

  • 初级算法-数组-旋转数组

    给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 进阶:尽可能想出更多的解决方案,至少有三种...

  • LeetCode初级算法--数组02:旋转数组

    LeetCode初级算法--数组02:旋转数组 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事...

  • 数组——旋转图像

    题目 给定一个 *n *× n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图...

  • LeetCode初级-旋转图像

    题目: 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像...

  • LeetCode 数组 旋转图像

    给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味...

  • JavaScript 算法(旋转图像)

    给定一个 *n *× n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这...

  • 【初级】旋转数组

    问题:将包含 n 个元素的数组向右旋转 k 步。例如,如果 n = 7 , k = 3,给定数组 [1,2,...

  • 【Leetcode初级算法】3-旋转数组

    给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1:输入: [1,2,3,4,5,6...

  • 算法:旋转数组

    189. 旋转数组[https://leetcode-cn.com/problems/rotate-array/]...

网友评论

    本文标题:初级算法-数组-旋转图像

    本文链接:https://www.haomeiwen.com/subject/lcdzmltx.html