当前位置: 首页 > news >正文

佛山做网站格怎样优化网站关键词排名靠前

佛山做网站格,怎样优化网站关键词排名靠前,做网站加手机app需要多少钱,百度首页纯净版怎么设置题目描述: 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],…

题目描述

给定一个 × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[[7,4,1],[8,5,2],[9,6,3]]

示例 2:

输入: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]]

提示:

  • n == matrix.length == matrix[i].length
  • 1 <= n <= 20
  • -1000 <= matrix[i][j] <= 1000

题解1:

最原始的做法,通过对每一行进行旋转进行找规律,发现有如下的公式:

 matrix[j][n - 1 - i] = matrix[i][j];

但是如果直接通过遍历数组来进行该公示的应用,那么之前已经置换过的位置会影响没有置换过的位置,因此还需要将原始数组保存起来,进行置换的时候 就将辅助数组的元素放置在原始数组的对应位置,这样就避免了原始数组被覆盖的可能。

代码实现

public static void rotate(int[][] matrix) {int n = matrix.length;int[][] tmp = new int[n][];for (int i = 0; i < n; i++) {tmp[i] = matrix[i].clone();}for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {matrix[j][n-i-1] = tmp[i][j];}}}

知识点:

1、二维数组一整行进行拷贝复制:

tmp[i] = matrix[i].clone(); 

这样做的的问题:空间复杂度很大,考虑是否可以实现原地反转,即就在当前数组上进行翻转。

题解2 :

通过尝试发现,如果每次只取前n/2行和(n+1)/2行的这一片元素进行旋转就不会产生原始没用放到正确位置上的元素被覆盖的情况,比如说,现在就取四个角,        A B

                                                                                                         C D

旋转之后,A->B  B->D  D->C  C->A,实现的时候逆着来,即先重置A位置为C,再重置C位置为D,以此类推,但是需要先保存A位置的初始值,这样才能将B位置置为A。这样实现的旋转是不会产生元素覆盖的。

代码实现

public static void rotate2(int[][] matrix) {int n = matrix.length;for (int i = 0; i < n/2; i++) {for (int j = 0; j < (n+1)/2; j++) {int tmp = matrix[i][j];matrix[i][j] = matrix[n-1-j][i];matrix[n-1-j][i] = matrix[n-1-i][n-1-j];matrix[n-i-1][n-1-j] = matrix[j][n-1-i];matrix[j][n-1-i] = tmp;}}}

反思:这样的想法是有考虑到的,但是由于不知道中间的元素要具体怎样旋转而没有深入思考, 其实如果能尝试写一下旋转公示的话,应该就能看出来其实中间的元素也和外围元素有一样的公式。但是取n/2和n+1/2进行旋转我也是想不到的,总结一下经验只能。

http://www.hrbkazy.com/news/46958.html

相关文章:

  • 网站开发的测试内容免费个人网站申请
  • 学做婴儿衣服的网站趣丁号友情链接
  • 我想做个网站怎么做 找谁做好免费代码网站
  • phpmysql动态网站开发下载班级优化大师
  • 比较优秀的国外wordpress网站推广软文怎么写样板
  • 网站建设整改落实情况谷歌seo代运营
  • 腾讯企业邮箱手机登录入口钦州seo
  • seo管理平台新人学会seo
  • 制作网站搭建网站项目怎么样网络服务包括
  • 商业网站初期建设资金预算12345浏览器
  • 贵阳中企动力做的网站114网址大全
  • 做任务佣金网站源码网络营销推广实战宝典
  • 阿里云esc服务器 怎么做网站互联网广告管理暂行办法
  • js多久可以做网站网站搜索引擎优化方案的案例
  • 东莞龙岗网站建设站长之家seo概况查询
  • 建e室内设计网cad网站seo标题优化技巧
  • 网站建设主管的策划案网站出租三级域名费用
  • 苏州专业做网站免费网络推广网站
  • cms高端建站如何查看网站收录情况
  • 专业的网站设计网络如何快速推广一个app
  • 大学生网页设计期末作业网站seo去哪个网站找好
  • 第一次做网站不知道建网站seo
  • 江西网站开发关键词优化一年的收费标准
  • 怎么查询网站是哪家公司做的最近社会热点新闻事件
  • 德州网站制作哪家好深圳网络推广网站
  • 漯河高端网站建设佛山网站建设制作
  • 要绑定税务网站办税员怎样做浙江网站seo
  • 建设援交网站淘宝客推广有效果吗
  • java做网站的优点seo提高关键词
  • 怎么做自己的门户网站西安高端模板建站