Leetcode 54.螺旋矩阵 JavaScript (Day 8)

javascript 复制代码
var spiralOrder = function(matrix) {
    let ans=[];
    let left =0,right=matrix[0].length-1;
    let top=0,bottom=matrix.length-1;
    while(left<right&&top<bottom){
        for(let i=left;i<right;i++) ans.push(matrix[top][i]);
        for(let i=top;i<bottom;i++) ans.push(matrix[i][right]);
        for(let i=right;i>left;i--) ans.push(matrix[bottom][i]);
        for(let i=bottom;i>top;i--) ans.push(matrix[i][left]);
        left++,right--;
        top++,bottom--;
    }
    if(top==bottom){
        for(let i=left;i<=right;i++) ans.push(matrix[top][i]);
    }
    else if(left==right){
        for(let i=top;i<=bottom;i++) ans.push(matrix[i][left]);
    }    
    
    return ans;
};

算法核心:直接见图

相关推荐
_日拱一卒10 小时前
LeetCode:最长连续序列
算法·leetcode·职场和发展
重生之后端学习10 小时前
287. 寻找重复数
数据结构·算法·leetcode·深度优先·图论
进击的尘埃10 小时前
LangGraph.js 核心机制拆解:从状态管理到完整数据分析 Agent 实战
javascript
进击的尘埃10 小时前
Cursor Rules 配置指南:提示词工程与多模型切换
javascript
张元清10 小时前
React Hooks 性能优化:如何避免不必要的重新渲染
前端·javascript·面试
不甜情歌10 小时前
JavaScript this绑定规则:告别踩坑指南!
前端·javascript
小J听不清10 小时前
CSS 三种引入方式全解析:行内 / 内部 / 外部样式表(附优先级规则)
前端·javascript·css·html·css3
一步一个脚印一个坑11 小时前
用 APM 全链路追踪,29ms 内定位到 Docker 部署的 SSL 配置错误
javascript·后端·监控
aircrushin11 小时前
端到端AI决策架构如何重塑实时协作体验?
前端·javascript·后端
紫_龙11 小时前
最新版vue3+TypeScript开发入门到实战教程之DOM操作
javascript·vue.js·typescript