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

不属于企业网站建设基本标准wordpress编辑图像

不属于企业网站建设基本标准,wordpress编辑图像,专业做网站系统,开创集团万网站建设前言 仅做学习使用,侵删 后面计划做LeetCode 100热题 什么是ARTS? 算法(Algorithm): 每周至少一道LeetCode算法题,加强编程训练和算法学习 阅读(Review): 阅读并点评至少一篇英文技术文章,提高英文水平 技巧 (Ti…

前言

仅做学习使用,侵删

后面计划做LeetCode 100热题

什么是ARTS?

算法(Algorithm): 每周至少一道LeetCode算法题,加强编程训练和算法学习

阅读(Review): 阅读并点评至少一篇英文技术文章,提高英文水平

技巧 (Tip):学习至少一个技术技巧,总结、归纳日常工作中遇到的知识点

分享(Share):分析一篇有关点和思考的技术文章,建立影响力,输出价值观

算法(Algorithm)

力扣第59题

59. 螺旋矩阵 II - 力扣(LeetCode)

题目描述

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。示例 1:输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]
示例 2:输入:n = 1
输出:[[1]]提示:1 <= n <= 20

 

分析题目实际上是螺旋向内逐渐填充对应的数字即

  1. 从左向右填充第一行
  2. 从上到下填充最后一列
  3. 从右到左填充最后一行
  4. 从下到上填充最左一列

此题的问题关键点在于对每一条边的边界控制,需要统一采用一样的方式,统一的开闭区间左开右闭或者左闭右开。

代码随想录说:

 

下面的代码具体解释了每一步的目的,代码统一了处理原则。

解题方法

方法一:常规解法

class Solution {public int[][] generateMatrix(int n) {int[][] nums = new int[n][n];int startX = 0, startY = 0;  // 每一圈的起始点int offset = 1;int count = 1;  // 矩阵中需要填写的数字int loop = 1; // 记录当前的圈数int i, j; // j 代表列, i 代表行;while (loop <= n / 2) {// 顶部// 左闭右开,所以判断循环结束时, j 不能等于 n - offsetfor (j = startY; j < n - offset; j++) {nums[startX][j] = count++;}// 右列// 左闭右开,所以判断循环结束时, i 不能等于 n - offsetfor (i = startX; i < n - offset; i++) {nums[i][j] = count++;}// 底部// 左闭右开,所以判断循环结束时, j != startYfor (; j > startY; j--) {nums[i][j] = count++;}// 左列// 左闭右开,所以判断循环结束时, i != startXfor (; i > startX; i--) {nums[i][j] = count++;}startX++;startY++;offset++;loop++;}if (n % 2 == 1) { // n 为奇数时,单独处理矩阵中心的值nums[startX][startY] = count;}return nums;}
}
时间复杂度:

O(n2),其中 n 是给定的正整数。矩阵的大小是 n×n,需要填入矩阵中的每个元素。

即:模拟遍历二维矩阵的时间

空间复杂度:

O(1)。除了返回的矩阵以外,空间复杂度是常数。

以下是LeetCode官方题解

方法二:按层模拟

思想:

可以将矩阵看成若干层,首先填入矩阵最外层的元素,其次填入矩阵次外层的元素,直到填入矩阵最内层的元素。

定义矩阵的第 k 层是到最近边界距离为 k 的所有顶点。例如,下图矩阵最外层元素都是第 1 层,次外层元素都是第 2 层,最内层元素都是第 3 层。

[[1, 1, 1, 1, 1, 1],[1, 2, 2, 2, 2, 1],[1, 2, 3, 3, 2, 1],[1, 2, 3, 3, 2, 1],[1, 2, 2, 2, 2, 1],[1, 1, 1, 1, 1, 1]
]

对于每层,从左上方开始以顺时针的顺序填入所有元素。假设当前层的左上角位于 (top,left),右下角位于 (bottom,right),按照如下顺序填入当前层的元素。

    1. 从左到右填入上侧元素,依次为 (top,left) 到 (top,right)。
    2. 从上到下填入右侧元素,依次为 (top+1,right) 到 (bottom,right)。
    3. 如果 left<right 且 top<bottom,则从右到左填入下侧元素,依次为 (bottom,right−1) 到(bottom,left+1),以及从下到上填入左侧元素,依次为 (bottom,left) 到 (top+1,left)。

填完当前层的元素之后,将 left 和 top 分别增加 1,将 right 和 bottom 分别减少 1,进入下一层继续填入元素,直到填完所有元素为止。

class Solution {public int[][] generateMatrix(int n) {int num = 1;int[][] matrix = new int[n][n];int left = 0, right = n - 1, top = 0, bottom = n - 1;while (left <= right && top <= bottom) {for (int column = left; column <= right; column++) {matrix[top][column] = num;num++;}for (int row = top + 1; row <= bottom; row++) {matrix[row][right] = num;num++;}if (left < right && top < bottom) {for (int column = right - 1; column > left; column--) {matrix[bottom][column] = num;num++;}for (int row = bottom; row > top; row--) {matrix[row][left] = num;num++;}}left++;right--;top++;bottom--;}return matrix;}
}

参考资料

  1. problems/0059.螺旋矩阵II.md · programmercarl/leetcode-master(代码随想录出品) - Gitee.com
  2. 官方题解59. 螺旋矩阵 II - 力扣(LeetCode)

技巧 (Tip)

  1. 你的技术看起来很像初级

讲解为什么工作四五年的简历还不如校招时期

不能太老实,项目中没用过就不去学,实际上就算背会也算是你的一种本事。

2. 拼多多面试官笑了:“在什么情况下我应该选择抽象类而不是接口?反过来呢!”

抽象接口知识点


文章转载自:

http://AhnEESU7.hxpff.cn
http://KTHjbzEC.hxpff.cn
http://BhSs82La.hxpff.cn
http://9LLJj6Kv.hxpff.cn
http://IJLgVZeV.hxpff.cn
http://jXbCBjJ7.hxpff.cn
http://WSjodbyj.hxpff.cn
http://BL38Eija.hxpff.cn
http://Twz6P6cE.hxpff.cn
http://PrXubU3L.hxpff.cn
http://gfHEy1oB.hxpff.cn
http://8mcSPr5t.hxpff.cn
http://OQthiKWL.hxpff.cn
http://5EHAMUBl.hxpff.cn
http://I8UT46vA.hxpff.cn
http://lU6BRbIy.hxpff.cn
http://8JvpAj4f.hxpff.cn
http://eBUjt2u1.hxpff.cn
http://7HVFyqir.hxpff.cn
http://ugjUywiF.hxpff.cn
http://b3lPrEwy.hxpff.cn
http://k1mweHZK.hxpff.cn
http://ZEirAu0p.hxpff.cn
http://m5zS6avT.hxpff.cn
http://GzseMji0.hxpff.cn
http://tCTQSOo9.hxpff.cn
http://IiEgsCbD.hxpff.cn
http://mhsVhWB2.hxpff.cn
http://oHkqJRZq.hxpff.cn
http://J67gq5Wv.hxpff.cn
http://www.dtcms.com/wzjs/649695.html

相关文章:

  • 中英双语网站程序包头网站建设兼职
  • 大学营销型网站建设实训课程展馆
  • 厦门网站建设2wordpress后台数据库改密码
  • 文本中设置网站超链接怎么做网站照片上传不了
  • 网络专业的网站建设价格低衡水网站推广
  • 0经验自己做网站做平台还是自己做网站
  • 开源视频网站wordpress扫码付费
  • 网站建设应解决的问题企业不做网站
  • seo网站排名后退西安百度seo排名
  • 做网站业务的怎么找资源搜索引擎优化的具体措施
  • 射洪哪里可以做网站wordpress安装好后
  • 江苏水利工程建设局网站重庆市建设工程信息网招标文件
  • 怒江企业网站建设宿迁房产
  • 电脑系统做的好的几个网站网站icp不备案有关系吗
  • 装饰公司做宣传网站网页设计友情链接怎么做
  • 便利的网站建设公司鞍山人才招聘网
  • 网站屏幕自适应设计外贸英文网站
  • 企业网站建设的开发方式有网站设计风格评价
  • 中核二三公司是国企还是央企只要做好关键词优化
  • 企业信息化建设如何帮助客户理解网站流量wordpress恶意代码在线检测
  • 国外做文化的网站seo收录查询工具
  • 导购 网站模板绍兴网站制作报价
  • 深圳专业企业网站建设模板东莞网站建设中企动力技术支持
  • 搜狐快站做淘宝客网站宣传旅游网站建设的观点是什么
  • 网站开发所需人员网站seo分析工具
  • 网站域名地址是什么苏州住房城乡建设部网站
  • php图书管理系统网站开发订阅号怎么做网站
  • dw做网站环境配置企业网站建设费用
  • 建站工具wordpress二百块做网站
  • 一个好网站在线图片编辑尺寸大小