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;
};

算法核心:直接见图

相关推荐
谙忆10244 分钟前
图像任务超时怎么重试:先分执行状态,再做结果验收
javascript
米米商聊10 小时前
同名附件为什么被 Map 覆盖?重复键与一对多索引
前端·javascript
lvwangshu11 小时前
P15569 [COCI 2025/2026 #5] 结构 / Struktura 题解
矩阵·题解·dp·推导题·矩阵加速
圣保罗的大教堂13 小时前
leetcode 3619. 总价值可以被 K 整除的岛屿数目 中等
leetcode
kyriewen13 小时前
我把 10 道面试题答案真跑了一遍:6 道是错的
前端·javascript·面试
WebInfra14 小时前
Rspack 2.3 发布:联手 SWC 团队带来全新编译器
前端·javascript·github
FRing0315 小时前
JavaScript入门到精通三十一(原型继承、原型链)
开发语言·前端·javascript
程序员大阳15 小时前
副队长JavaScript教程(52)-DOM操作元素的内容
javascript·dom·innertext·innerhtml·value·内容操作
裕波16 小时前
苏千|从 cnpm 到 Vite+:AI 时代的开发者体验演进
javascript
console.log('npc')17 小时前
周期任务功能完整实现:CRON 编辑器 + 模板变量 + 执行历史
javascript·vue.js·编辑器