48. 旋转图像

模拟题,其实挺不喜欢做模拟题的。。。

其实这题一层一层的转就好了,外层转完里层再转,其实就是可重叠的子问题了。

转的时候呢,一个数一个数的转,一个数带动四个数。如图所示,2这个数应该怎么转:

难点就是如何用坐标表示出来相对位置,写坐标的时候思路一定要清晰啊!

class Solution {
public void rotate(int[][] matrix) {
int n = matrix.length;
for (int k = 0; k < n / 2; k++) {
for (int i = 0; i < ((n - 2 * k) - 1); i++) {
int tmp = matrix[k][k + i];
matrix[k][k + i] = matrix[n - 1 - (k + i)][k];
matrix[n - 1 - (k + i)][k] = matrix[n - 1 - k][n - 1 - (k + i)];
matrix[n - 1 - k][n - 1 - (k + i)] = matrix[k + i][n - 1 - k];
matrix[k + i][n - 1 - k] = tmp;
}
}
}
}

[leetcode] 48. 旋转图像(Java)(模拟)的更多相关文章

  1. leetcode 48. 旋转图像 java

    class Solution { public void rotate(int[][] matrix) { int n = matrix.length; for (int k = 0; k < ...

  2. 前端与算法 leetcode 48. 旋转图像

    目录 # 前端与算法 leetcode 48. 旋转图像 题目描述 概要 提示 解析 解法一:转置加翻转 解法二:在单次循环中旋转 4 个矩形 算法 传入测试用例的运行结果 执行结果 GitHub仓库 ...

  3. Java实现 LeetCode 48 旋转图像

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

  4. LeetCode——48. 旋转图像

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

  5. python(leetcode)-48旋转图像

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

  6. LeetCode 48. 旋转图像(Rotate Image)

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

  7. LeetCode:旋转图像【48】

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

  8. Jsoup实现java模拟登陆

    Jsoup实现java模拟登陆 2013-10-29 14:52:05|  分类: web开发|举报|字号 订阅     下载LOFTER我的照片书  |     1:如何获取cookies. 1.1 ...

  9. EscapeAndUnescapeUtil【java模拟js的escape和unescape函数】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 在这里做一个记录,基本代码同参考资料<java模拟js的escape和unescape函数>一样. 效果图     代码 ...

随机推荐

  1. Alpine镜像

    Alpine Linux 是一个面向安全,轻量级的基于musl libc与busybox项目的Linux发行版. Alpine 提供了自己的包管理工具 apk,可以通过 https://pkgs.al ...

  2. 基于MATLAB的手写公式识别(9)

    基于MATLAB的手写公式识别(9) 1.2图像的二值化 close all; clear all; Img=imread('drink.jpg'); %灰度化 Img_Gray=rgb2gray(I ...

  3. C++ 面向对象高级设计

    inline关键字 类声明内定义的函数,自动成为inline函数,类声明外定义的函数,需要加上inline关键字才能成为inline函数 构造函数 应该使用列表初始化 class complex { ...

  4. Netty 框架学习 —— 第一个 Netty 应用

    概述 在本文,我们将编写一个基于 Netty 实现的客户端和服务端应用程序,相信通过学习该示例,一定能更全面的理解 Netty API 该图展示的是多个客户端同时连接到一台服务器.客户端建立一个连接后 ...

  5. 【Java】Java中的四种对象引用

    从JDK1.2开始,Java中的引用类型分为四种,分别是: 1.强引用(StrongReference) 这种引用是平时开发中最常用的,例如 String strong = new String(&q ...

  6. hdu5247找连续数(打表)

    题意(中问题直接粘题意吧)                                 找连续数 Problem Description 小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道是否 ...

  7. 15.PHP_PHP与Ajax

    PHP与Ajax 刚刚下班回来地铁上看的这一章,觉得这东西思路可以.确实解决了WEB的两个大的问题,流量和计算量问题.简单说下我的理解,然后在根据资料整理下学习笔记. 两个问题: 1.展示一个WEB网 ...

  8. featuretools的几个高级特性

    摘要:记录工作中用到的featuretools的部分高级特性. 1.防止信息泄露 在调用dfs时,将主表的观测时间列连同id列作为cutoff_time,可以在构造特征时自动将子表中在cutoff_t ...

  9. windows的SEH异常处理以及顶层异常处理

    前言 windows的SEH结构化异常处理是基于线程的,传统的SEH结构化异常会基于堆栈形成一条包含异常回调函数地址的链(SEH链).而fs:[0](TEB的第一个字段)指向这条链的链头,当有异常发生 ...

  10. 使用git rebase去掉无谓的融合

    git pull 預設的行為是將遠端的 repo. 與本地的 repo. 合併,這也是 DVCS 的初衷,將兩個 branch 合併.但是,很多時候會發生以下這種情形: 這是因為,我們團隊的開發模式是 ...