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

全国物流网站有哪些平台网站备案和域名备案一样吗

全国物流网站有哪些平台,网站备案和域名备案一样吗,网站开发 之cookie,怎么直接用代码做网站小哆啦开始刷力扣的第二十八天 54. 螺旋矩阵 - 力扣(LeetCode) 🌪️ 一场螺旋风暴的较量 在一个阳光明媚的午后,小哆啦悠闲地坐在窗边啃着曲奇,突然,一道神秘的光芒闪过,小智从代码的虚空中出现…

小哆啦开始刷力扣的第二十八天

54. 螺旋矩阵 - 力扣(LeetCode)

🌪️ 一场螺旋风暴的较量

在一个阳光明媚的午后,小哆啦悠闲地坐在窗边啃着曲奇,突然,一道神秘的光芒闪过,小智从代码的虚空中出现。

“哆啦,我今天带来了一个特别有意思的题目!”小智眨着眼睛说。

“哦?是什么?”小哆啦眯起眼睛,嘴角还沾着饼干屑。

螺旋矩阵! ”小智一挥手,白板上赫然出现了一道经典题目:

给你一个 mn 列的矩阵 matrix,要求你按照顺时针螺旋顺序,返回矩阵中的所有元素。

示例:

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

“这也太简单了吧!”小哆啦信心满满地说,“让我来个暴力解法!沿着顺时针走一圈不就好了嘛!”

🚀 第一回合:暴力解法上线

小哆啦撸起袖子,啪啪敲起键盘,写下了第一个版本:

function spiralOrder(matrix: number[][]): number[] {if (matrix.length === 0 || matrix[0].length === 0) return [];const m = matrix.length;const n = matrix[0].length;const result: number[] = [];const visited: boolean[][] = Array.from({ length: m }, () => Array(n).fill(false));let direction = 0; // 0: 右, 1: 下, 2: 左, 3: 上let row = 0, col = 0;const directions = [[0, 1], [1, 0], [0, -1], [-1, 0]];for (let i = 0; i < m * n; i++) {result.push(matrix[row][col]);visited[row][col] = true;const nextRow = row + directions[direction][0];const nextCol = col + directions[direction][1];if (nextRow >= 0 && nextRow < m && nextCol >= 0 && nextCol < n && !visited[nextRow][nextCol]) {row = nextRow;col = nextCol;} else {direction = (direction + 1) % 4;row += directions[direction][0];col += directions[direction][1];}}return result;
}

小哆啦按下运行键,屏幕上果然输出了**[1,2,3,6,9,8,7,4,5]**,结果完全正确!

时间复杂度: O(m * n)
空间复杂度: O(m * n)(额外的 visited 数组)

“哈哈哈,我是不是很厉害!”小哆啦得意地转头看向小智。

🌟 小智的灵魂拷问

小智推了推眼镜,嘴角勾起一抹淡淡的微笑:“哆啦,你确定这就是最优解吗?”

小哆啦一愣:“怎么不是?每个元素都访问了一遍,没多走一步啊!”

小智轻敲白板:“可是……你额外用了一个 visited 数组,空间复杂度已经飙到 O(m * n) 了,这不等于背着一大堆行李去爬山吗?”

小哆啦嘴角抽了抽:“那……那怎么改?”

⚡ 第二回合:边界收缩法登场

“我们可以巧妙利用边界收缩法,”小智耐心地解释道,“动态调整上下左右的边界来控制遍历路径,而不是额外用空间去标记访问过的格子。”

小哆啦听完恍然大悟:“等于说,我们把访问过的路径‘挤压’成边界,把矩阵变成一个收缩的战场!”

于是,在小智的引导下,小哆啦写出了第二版代码:

function spiralOrderOptimized(matrix: number[][]): number[] {if (matrix.length === 0 || matrix[0].length === 0) return [];let top = 0, bottom = matrix.length - 1;let left = 0, right = matrix[0].length - 1;const result: number[] = [];while (top <= bottom && left <= right) {for (let i = left; i <= right; i++) result.push(matrix[top][i]); // 从左到右top++;for (let i = top; i <= bottom; i++) result.push(matrix[i][right]); // 从上到下right--;if (top <= bottom) { // 防止重复遍历for (let i = right; i >= left; i--) result.push(matrix[bottom][i]); // 从右到左bottom--;}if (left <= right) { // 防止重复遍历for (let i = bottom; i >= top; i--) result.push(matrix[i][left]); // 从下到上left++;}}return result;
}

时间复杂度: O(m * n)
空间复杂度: O(1)

🎯 解法对比

解法时间复杂度空间复杂度思路
暴力解法O(m * n)O(m * n)模拟遍历,记录访问过的路径
边界收缩法O(m * n)O(1)动态调整边界,避免额外空间

🎬 最终总结:

小哆啦从初出茅庐的暴力解法,到小智提点后的边界收缩法,这不仅是一次代码的升级,更是一场算法思维的蜕变。螺旋矩阵,看似只是绕圈圈,但真正高效的解法,藏在对边界和路径的精准把控之中。

“下次再有这种题目,我一定一眼就用边界收缩法!”小哆啦挥着拳头说道。

“算法的成长,就是不断突破自己思维边界的过程。”小智微微一笑。

如果你也有更妙的思路,欢迎在评论区和我们一起探讨!✨


文章转载自:

http://a2ZmOAcP.jjmrx.cn
http://HVsk4mxC.jjmrx.cn
http://KXuIFN5B.jjmrx.cn
http://L814hQOy.jjmrx.cn
http://29E2DxO4.jjmrx.cn
http://79pbRNk4.jjmrx.cn
http://2zXM4cZX.jjmrx.cn
http://fe8j5Xgo.jjmrx.cn
http://PNVILoKe.jjmrx.cn
http://GhOIB26e.jjmrx.cn
http://qCk6qrV1.jjmrx.cn
http://ZmBMQHaW.jjmrx.cn
http://ocnrLxaZ.jjmrx.cn
http://yKUGQb9j.jjmrx.cn
http://rr9NiMcm.jjmrx.cn
http://AsopFpCM.jjmrx.cn
http://W3zMUmjl.jjmrx.cn
http://uszINUyC.jjmrx.cn
http://EqgZCRnY.jjmrx.cn
http://xVMavYGB.jjmrx.cn
http://OTjvj0rd.jjmrx.cn
http://BXqvRDzp.jjmrx.cn
http://itJbz9w7.jjmrx.cn
http://gQgdZt5L.jjmrx.cn
http://45lnRyaB.jjmrx.cn
http://1qsdjCoz.jjmrx.cn
http://AWadVAWs.jjmrx.cn
http://njNztQa1.jjmrx.cn
http://R4iVEwR0.jjmrx.cn
http://e9SOelct.jjmrx.cn
http://www.dtcms.com/wzjs/687534.html

相关文章:

  • 网站建设不是一次性费用常德网站公司
  • 芜湖南陵网站建设wordpress防止盗链
  • 优秀网站设计欣赏国内wordpress jw
  • 威海网站优化网站建设四川
  • 北京做网站比较大的公司wordpress vuln
  • 普通的订阅号怎么做微网站怎么建网站教程视频app
  • 综合性门户网站有石家庄网站建设seo优化营销
  • 做投标需要知道什么网站常平众展做网站
  • 外贸网站建设怎么制作网站优化 毕业设计
  • 做3d动画视频接私活的网站荣耀商城手机官网
  • 网站右下角flashh5企业网站定制排名
  • 专业建设网站应该怎么做wordpress缓存插件汉化破解版
  • wordpress能开发商城网站吗做全屏的网站 一屛多高
  • 天津整站网站和网页
  • 学院宣传网站制作新浪 sae 安装 wordpress 如何上传模板?
  • 网站优化标签房产信息网510
  • 建设银行网站台州企业建站系统
  • 金华网站建设外包网站上面图片上传尺寸
  • 做模式网站crm系统是什么意思啊
  • 徐州社交网站三把火科技专业提供企业信息化服务
  • 青岛找网站建设公司哪家好网站备案ip查询网站
  • 帮人做推广的网站北京企业
  • 门户网站的建设方式有哪些阿里巴巴官网首页登录入口
  • 淮安市广德育建设网站长春建设
  • 做奢侈品网站有哪些建设工程公司是干什么的
  • 承包工地的网站深圳西乡有什么好玩的
  • 福建高端网站建设大连市建设工程招标信息网
  • 国内个人网站搭建国家企业信用信息公示系统(安徽)
  • 哪个网站是可以做书的山东省建设执业师之家官方网站
  • 乐山市城乡规划建设局网站wordpress添加会员等级标识