求图中leetcode题目详解解

版权声明:本文为博主原创文章未经博主允许不得转载。 /hsx/article/details/

时间复杂度:O(n)一次一层for循环。

空间复杂度:O(n)申请Set集合。


  


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

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

原地旋转输入矩阵,使其变为: 原地旋转输入矩阵使其变为:

一开始我想的是重新创建一个新的数组,然后计算出每一個元素旋转之后的位置再依次赋值一下,但是这一题要求的是原地旋转所以肯定是不能创建新的数组了,但是计算出元素的位置还是囿用的(length为一维数组的长度)

  • 遍历元素,一层一层向内层遍历将每一个遍历到的元素旋转90度的4个位置上的元素依次赋值就可以了。
  • 一維数组的长度为奇数的时候最内层只有一个元素的位置是不需要旋转的。

这个方法击败了97%的leetcode小伙伴可能是因为测试用例有点难创建,所以这个测试用例只有21个至此初级算法,数组篇的就写完啦!

非常慢的一个解法优点可能只囿好理解这一点

// 把字符串中所有相邻成对的括号用空字符替换,剩余如果还有括号则是单边或者不相邻成对的情况

我要回帖

更多关于 leetcode题目详解 的文章

 

随机推荐