首页 > 其他分享 >LeetCode 54_螺旋矩阵

LeetCode 54_螺旋矩阵

时间:2023-01-10 13:35:31浏览次数:30  
标签:matrix int 54 矩阵 up down res LeetCode left

LeetCode 54:螺旋矩阵

题目

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

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

示例 2:
输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
输出:[1,2,3,4,8,12,11,10,9,5,6,7]

思路

设置四个边界,对应四个方向

代码

class Solution {
    public List<Integer> spiralOrder(int[][] matrix) {
        List<Integer> res=new ArrayList<>();
        int m=matrix.length;
        int n=matrix[0].length;
        int up = 0, down = m - 1, left = 0, right = n - 1;
        while (true)
        { 
            for (int i = left; i <= right; i++) 
                res.add(matrix[up][i]);
            if (++up > down) break;
            for (int i = up; i <= down; i++) 
                res.add(matrix[i][right]);
            if (--right < left) break;
            for (int i = right; i >= left; i--) 
                res.add(matrix[down][i]);
            if (--down < up) break;
            for (int i = down; i >= up; i--) 
                res.add(matrix[i][left]);
            if (++left > right) break;
        }
        return res;
    }
}

反思

①最好把图画出来

标签:matrix,int,54,矩阵,up,down,res,LeetCode,left
From: https://www.cnblogs.com/Janecodehouse/p/17039885.html

相关文章

  • 4454. 未初始化警告
    4454.未初始化警告一个未经初始化的变量,里面存储的值可能是任意的。因此直接使用未初始化的变量,比如将其赋值给另一个变量,并不符合一般的编程逻辑。代码中出现这种情......
  • 国产电源芯片DP4054 软硬件兼容TP4054 规格书资料
    DP4054是一款完整的采用恒定电流/恒定电压单节锂离子电池充电管理芯片。其SOT小封装和较少的外部元件数目使其成为便携式应用的理想器件,DP4054可以适合USB 电源和适配......
  • [leetcode每日一题]1.9
    ​​1806.还原排列的最少操作步数​​难度中等给你一个偶数 ​​n​​​​​​​,已知存在一个长度为 ​​n​​ 的排列 ​​perm​​ ,其中 ​​perm[i]==i​​(下......
  • 代码随想录算法训练营第八天LeetCode28, 459
    代码随想录算法训练营第八天|LeetCode28,459Leetcode28找出字符串中第一个匹配项的下标题目链接:https://leetcode.cn/problems/find-the-index-of-the-first-occurrence......
  • leetcode-234-easy
    PalindromeLinkedListGiventheheadofasinglylinkedlist,returntrueifitisapalindromeorfalseotherwise.Example1:Input:head=[1,2,2,1]Outpu......
  • leetcode-171-easy
    ExcelSheetColumnNumberGivenastringcolumnTitlethatrepresentsthecolumntitleasappearsinanExcelsheet,returnitscorrespondingcolumnnumber.Fo......
  • leetcode-225-easy
    ImplementStackusingQueuesImplementalast-in-first-out(LIFO)stackusingonlytwoqueues.Theimplementedstackshouldsupportallthefunctionsofanorm......
  • leetcode简单:[1, 9, 13, 14, 20, 21, 26, 27, 35, 58]
    目录1.两数之和9.回文数13.罗马数字转整数14.最长公共前缀20.有效的括号21.合并两个有序链表26.删除有序数组中的重复项27.移除元素35.搜索插入位置58.最后一个......
  • leetcode简单:[66, 67, 70, 83, 121, 141, 160, 169, ,206, 338]
    目录66.加一67.二进制求和70.爬楼梯83.删除排序链表中的重复元素121.买卖股票的最佳时机141.环形链表160.相交链表169.多数元素206.反转链表338.比特位计数66.......
  • LeetCode.977 有序数组的平方
    1.题目给你一个按 非递减顺序 排序的整数数组 ​​​​nums​​​​,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。2.代码classSolution{public......