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

算法核心:直接见图

相关推荐
Charlie_lll18 小时前
力扣解题-移动零
后端·算法·leetcode
大橙子额18 小时前
【解决报错】Cannot assign to read only property ‘exports‘ of object ‘#<Object>‘
前端·javascript·vue.js
iAkuya19 小时前
(leetcode)力扣100 62N皇后问题 (普通回溯(使用set存储),位运算回溯)
算法·leetcode·职场和发展
WooaiJava20 小时前
AI 智能助手项目面试技术要点总结(前端部分)
javascript·大模型·html5
lbb 小魔仙20 小时前
面向 NPU 的高性能矩阵乘法:CANN ops-nn 算子库架构与优化技术
线性代数·矩阵·架构
Never_Satisfied20 小时前
在JavaScript / HTML中,关于querySelectorAll方法
开发语言·javascript·html
董世昌4120 小时前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
空白诗20 小时前
CANN ops-nn 算子解读:大语言模型推理中的 MatMul 矩阵乘实现
人工智能·语言模型·矩阵
WeiXiao_Hyy21 小时前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
xjt_090121 小时前
基于 Vue 3 构建企业级 Web Components 组件库
前端·javascript·vue.js