首页 > 其他分享 >#yyds干货盘点# LeetCode 腾讯精选练习 50 题:螺旋矩阵

#yyds干货盘点# LeetCode 腾讯精选练习 50 题:螺旋矩阵

时间:2022-10-28 19:05:05浏览次数:88  
标签:yyds matrix int 50 order column left LeetCode row

题目:

给你一个 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> order = new ArrayList<Integer>();
if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {
return order;
}
int rows = matrix.length, columns = matrix[0].length;
int left = 0, right = columns - 1, top = 0, bottom = rows - 1;
while (left <= right && top <= bottom) {
for (int column = left; column <= right; column++) {
order.add(matrix[top][column]);
}
for (int row = top + 1; row <= bottom; row++) {
order.add(matrix[row][right]);
}
if (left < right && top < bottom) {
for (int column = right - 1; column > left; column--) {
order.add(matrix[bottom][column]);
}
for (int row = bottom; row > top; row--) {
order.add(matrix[row][left]);
}
}
left++;
right--;
top++;
bottom--;
}
return order;
}
}

标签:yyds,matrix,int,50,order,column,left,LeetCode,row
From: https://blog.51cto.com/u_13321676/5805230

相关文章

  • #yyds干货盘点# LeetCode 腾讯精选练习 50 题:螺旋矩阵 II
    题目:给你一个正整数 n,生成一个包含1到 n2 所有元素,且元素按顺时针顺序螺旋排列的 nxn正方形矩阵matrix。 示例1:输入:n=3输出:[[1,2,3],[8,9,4],[7,6,5]]示例......
  • 【BZOJ2502】清理雪道(最大费用最大流)
    上下界网络流的做法大佬们都讲过了,我就来讲一个另类的解法。(不过也是网络流)这个做法是考场上想了很久都不会后奇思妙想想出来的(不会上下界网络流),所以没多少思路引导。首......
  • #yyds干货盘点# 动态规划专题:合唱队形
    1.简述:描述N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高......
  • #yyds干货盘点# 动态规划专题:信封嵌套
    1.简述:描述给n 个信封的长度和宽度。如果信封a 的长和宽都小于信封b ,那么信封a 可以放到信封b 里,请求出信封最多可以嵌套多少层。数据范围:  , 要求:空间复杂度 ......
  • 关于VM系列振弦传感器测量模块 固件版本SF3.50相较于SF3.33的新特性说明
    测频性能提升微弱信号增强,进一步增强了微弱信号的识别和处理算法。增加辅助测频,在不改变以往固件使用的前提下,利用预置噪声、特征频率模型及过滤算法SFC(SmartFrequencyC......
  • leetcode(32)前缀和系列题目
    303.区域和检索-数组不可变记录前i个元素的和,因此sum[left,right+1]=pre[right+1]-pre[left]classNumArray:def__init__(self,nums:List[int]):......
  • leetcode-1446-easy
    ConsecutiveCharactersThepowerofthestringisthemaximumlengthofanon-emptysubstringthatcontainsonlyoneuniquecharacter.Givenastrings,retur......
  • AIGW50N65H5-ASEMI原厂代理英飞凌IGBT管AIGW50N65H5
    编辑-ZAIGW50N65H5用的TO-247封装,是英飞凌一款汽车级IGBT管。AIGW50N65H5的功耗(Ptot)为270W,集电极截止电流(ICES)为40uA,G−E漏电流(IGES)为100nA,其工作时耐温度范围为-40~175摄氏......
  • leetcode-680-easy
    ValidPalindromeIIGivenastrings,returntrueifthescanbepalindromeafterdeletingatmostonecharacterfromit.Example1:Input:s="aba"Output......
  • Leetcode第907题:子数组的最小值之和(Sum of subarrays minimums )
    解题思路既然我们不能先遍历区间,然后找最小值,那么我们不如顺序倒过来,对于每个值,我们找有多少区间里面,它是最小值。对于一个数字A[i]来说,如果在某个区间[j,k]里面它......