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

开发网站开奖类游戏需要什么技术拉新app渠道

开发网站开奖类游戏需要什么技术,拉新app渠道,做网站技术选择,沧州网站seo题目说明 给定一个 n n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明#xff1a;你必须在原地旋转图像#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: 给定 matrix [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入…题目说明 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 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] ] 分析 旋转图像这个应用在图片处理的过程中非常常见。我们知道对于计算机而言图像其实就是一组像素点的集合所谓点阵所以图像旋转的问题本质上就是一个二维数组的旋转问题。 方法一数学方法转置再翻转 我们可以利用矩阵的特性。所谓顺时针旋转其实就是先转置矩阵然后翻转每一行。 代码如下 public void rotate(int[][] matrix) {int n matrix.length;// 转置矩阵for (int i 0; i n; i)for (int j i; j n; j) {int tmp matrix[i][j];matrix[i][j] matrix[j][i];matrix[j][i] tmp;}// 翻转行for( int i 0; i n; i ){for( int j 0; j n/2; j ){int tmp matrix[i][j];matrix[i][j] matrix[i][n-j-1];matrix[i][n-j-1] tmp;}} }复杂度分析 时间复杂度O(N^2) 这个简单的方法已经能达到最优的时间复杂度O(N^2) 因为既然是旋转那么每个点都应该遍历到N^2的复杂度不可避免。 空间复杂度O(1)。旋转操作是原地完成的只耗费常数空间 方法二分治分为四部分旋转 方法 1 使用了两次矩阵操作能不能只使用一次操作的方法完成旋转呢 为了实现这一点我们来研究每个元素在旋转的过程中如何移动。 这提供给我们了一个思路可以将给定的矩阵分成四个矩形并且将原问题划归为旋转这些矩形的问题。这其实就是分治的思想。 具体解法也很直接可以在每一个矩形中遍历元素并且在长度为 4 的临时列表中移动它们。 代码如下 public void rotate(int[][] matrix) {int n matrix.length;for (int i 0; i n / 2 n % 2; i) {for (int j 0; j n / 2; j) {int[] tmp new int[4];int row i;int col j;for (int k 0; k 4; k) {tmp[k] matrix[row][col];// 定位下一个数int x row;row col;col n - 1 - x;}for (int k 0; k 4; k) {matrix[row][col] tmp[(k 3) % 4];int x row;row col;col n - 1 - x;}}} }复杂度分析 时间复杂度O(N^2) 是两重循环的复杂度。 空间复杂度O(1) 由于我们在一次循环中的操作是“就地”完成的并且我们只用了长度为 4 的临时列表做辅助。 方法三分治法改进单次循环内完成旋转 大家可能也发现了我们其实没有必要分成4个矩阵来旋转。这四个矩阵的对应关系其实是一目了然的我们完全可以在一次循环内把所有元素都旋转到位。 因为旋转的时候是上下、左右分别对称的所以我们遍历元素的时候只要遍历一半行、一半列就可以了1/4元素。 展示代码如下 public void rotate(int[][] matrix) {int n matrix.length;// 不区分子矩阵直接遍历每一个元素for( int i 0; i (n 1)/2; i ){for( int j 0; j n/2; j ){int temp matrix[i][j]; //2,2matrix[i][j] matrix[n-j-1][i];matrix[n-j-1][i] matrix[n-i-1][n-j-1];matrix[n-i-1][n-j-1] matrix[j][n-i-1];matrix[j][n-i-1] temp;}} }复杂度分析 时间复杂度O(N^2)是两重循环的复杂度。 空间复杂度O(1)。我们在一次循环中的操作是“就地”完成的。
http://www.pierceye.com/news/777495/

相关文章:

  • 有没有学做衣服的网站广告设计公司有什么岗位
  • 什么网站做免单衣服厦门设计师网站
  • 深圳网站建设 龙华信科易乐自助建站
  • 徐老师在那个网站做发视频搜索引擎优化特点
  • 工信部网站备案批准文件重庆装修网站建设
  • 网站被攻击了怎么办网站优化 价格查询
  • 北京网站建设公司怎么样怎么做qq盗号网站
  • 中企动力网站建设合同中天建设招标网站
  • 湖南手机版建站系统开发wordpress获取用户角色
  • 南皮网站建设价格泰安房产信息网官网首页
  • 网页制作与网站建设实战大全重庆房产信息网官网
  • 上海的网站建设公司app对接网站登录要怎么做
  • 江苏省备案网站现在什么网站做外贸的最好
  • 如何知道网站是否被k蓝山网站建设
  • 网站维护服务公司免费的网站推广渠道
  • 网站建设方案应该怎么写asp网站无法上传图片
  • 建个网站多少钱app企业关键词排名优化公司
  • 电子商务他们的代表网站代码网站怎么做的
  • 如何做网站卖东西长春互联网公司排名
  • 怎样拥有自己的网站制作网站的步骤和方法
  • 北京电子商务app网站建设大兴小程序源码如何部署到服务器
  • 设计找图网站网站用什么构建
  • 做微信的网站叫什么软件湛江网站建设制作维护
  • 做网站商城多少钱wordpress链接公众号
  • 数码产品销售网站建设策划书金融类网站模板
  • 档案网站建设视频网络软营销的案例
  • 德州市建设局质监站网站织梦做的网站打包在dw修改
  • 做那个男女的视频网站湖南响应式网站公司
  • 1个ip可以做几个网站电商网站建设阿里云
  • 网站做seo需要些什么wordpress虎嗅破解版