leetcode刷题日志-54螺旋矩阵

在这里插入图片描述
思路:
上下左右设置四个边界
在这里插入图片描述
每走完一行或者一列,移动相应边界,当左边界大于右边界,或者上边界大于下边界时,结束
代码如下:

class Solution {
    public List<Integer> spiralOrder(int[][] matrix) {
        int t = 0 , b = matrix.length - 1, l = 0 , right = matrix[0].length - 1;
        List<Integer> result = new ArrayList<Integer>();
        while(true)
        {
            for(int i = l ; i <= right ; i++)
            {
                result.add(matrix[t][i]);
                k++;
            }
            t++;
            if(t > b)
                break;
            for(int i = t ; i <= b ; i++)
            {
                result.add(matrix[i][right]);
                k++;
            }
            right--;
            if(right < l)
                break;
            for(int i = right ; i >= l ; i--)
            {
                result.add(matrix[b][i]);
                k++;
            } 
            b--;
            if(b < t)
                break;
            for(int i = b ; i >= t ; i--)
            {
                result.add(matrix[i][l]);
                k++;
            }
            l++;
            if(l > right)
                break;

        }
        return result;
    }
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/231888.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

temu我的订单在哪里看

在Temu平台上购物是一件令人愉快的事情&#xff0c;但有时候我们可能会忘记如何查看我们的订单。在本文中&#xff0c;我们将逐步介绍如何在Temu平台上查看您的订单&#xff0c;以便您可以轻松管理您的购物记录。 先给大家推荐一款拼多多/temu运营工具——多多情报通多多情报通…

【Vulnhub 靶场】【Hackable: III】【简单 - 中等】【20210602】

1、环境介绍 靶场介绍&#xff1a;https://www.vulnhub.com/entry/hackable-iii,720/ 靶场下载&#xff1a;https://download.vulnhub.com/hackable/hackable3.ova 靶场难度&#xff1a;简单 - 中等 发布日期&#xff1a;2021年06月02日 文件大小&#xff1a;1.6 GB 靶场作者&…

4_CSS选择器进阶

day04_CSS选择器应用 Objective&#xff08;本课目标&#xff09; 掌握复合选择器掌握后代选择器掌握并集选择器掌握标签显示模式和转换掌握CSS背景 1. CSS复合选择器 1.1 后代选择器&#xff08;重点&#xff09; 作用&#xff1a;用来选择元素或元素组的子孙后代 案例 -…

Abaqus Creat Field Output

1、获取应力不变量 s2f33_S.getScalarField(invariantMISES) 2、获得应力分量 s2f33_S.getScalarField(componentLabel"S11") 参考&#xff1a; https://www.eng-tips.com/viewthread.cfm?qid469545

深化适老化服务——建行江门市分行成功打造首家“适老化”服务示范网点

新金融时代&#xff0c;银行物理网点要更好发挥客户面对面接触、情感交互、场景引流、生态建设等功能&#xff0c;开展特色网点建设转型势在必行。 近日&#xff0c;建行江门市分行恩平锦江支行“适老化”服务示范网点开业。走进锦江支行网点大堂&#xff0c;“暖阳港湾”四个…

SAP 批量修改IDOC内容

近第三方系统出现一个问题&#xff0c;导致IDOC发过来的数据都是错误的&#xff0c;但是因为某些原因&#xff0c;无法在第三方系统中重新发起&#xff0c;故需要批量修改IDOC的内容&#xff0c;并且重新在SAP中发起入站 经了解SAP提供了标准的事务代码可以进行简单的IDOC内容…

2023年9月8日 Go生态洞察:gopls的扩展与Go生态系统的成长

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

更改Android Studio的.android和.gradle文件夹默认位置

一、首先关闭Android Studio&#xff0c; 二、目标位置新建文件夹 这一步&#xff0c;为了省去麻烦&#xff0c;我并没有直接在我的目标位置新建文件夹&#xff0c;而是把C盘下的.android和.gradle文件夹整个复制过来&#xff0c;和SDK都在同一目录下&#xff0c;感觉这样可以…

Qt之实现文字滚动效果

一.效果 二.实现 roller.h #ifndef ROLLER_H #define ROLLER_H#include <QWidget> #include <QPaintEvent> #include <QShowEvent> #include <QHideEvent> #include <QTimer>class Roller : public QWidget { public:explicit Roller(QWidget …

【序列化】概念及二叉树序列化、反序列化的两种方式

序列化是什么&#xff1f;为什么需要序列化&#xff1f; 前言&#xff1a; &#xff08;1&#xff09;进程想要运行&#xff0c;就要向操作系统申请内存空间&#xff0c;进程对数据的所有操作都是在内存空间中完成的。内存中有一部分数据很重要&#xff0c;我们希望将这些数据存…

Java基础-java.util.Scanner接收用户输入

目录 1. 导入所需要的jar包2. 编写代码运行3. 输出运行结果 1. 导入所需要的jar包 import java.util.Scanner;2. 编写代码运行 public class ScannerDemo {public static void main(String[] args) {/** 使用Scanner接收用户键盘输入的数据* 1. 导包&#xff1a;告诉程序去JD…

springboot077基于SpringBoot的汽车票网上预订系统

springboot077基于SpringBoot的汽车票网上预订系统 源码获取&#xff1a; https://docs.qq.com/doc/DUXdsVlhIdVlsemdX

零基础学Python第七天||字符串(4)

字符串的内容的确不少&#xff0c;甚至都有点啰嗦了。但是&#xff0c;本节依然还要继续&#xff0c;就是因为在编程实践中&#xff0c;经常会遇到有关字符串的问题&#xff0c;而且也是很多初学者容易迷茫的。 字符串格式化输出 什么是格式化&#xff1f;在维基百科中有专门…

jsp使用 分页专用工具

分页器&#xff0c;根据过来的参数计算当着页应当从哪一条记录开始显示&#xff0c;并且显示到哪。 PageUtils [pageSize5, currIndex1, totalCount166, totalPage34, startPosition0] PageUtils [pageSize5, currIndex5, totalCount166, totalPage34, startPosition20] PageUt…

深度学习基础介绍

定义&#xff1a; 深度学习是机器学习领域中一个新的研究方向&#xff0c;被引入机器学习使其更接近于最初的目标&#xff0c;即人工智能AI&#xff0c; Artifical Intelligence。 深度学习是学习样本数据的内在规律和表示层次&#xff0c;这些学习过程中获得的信息对诸如文字…

Leetcode 39 组合总和

题意理解&#xff1a; 一个 无重复元素 的整数数组 candidates 和一个目标整数 target 从candidates 取数字&#xff0c;使其和 target &#xff0c;有多少种组合&#xff08;candidates 中的 同一个 数字可以 无限制重复被选取&#xff09; 这道题和之前一道组合的区别&am…

Databend 如何利用 GPT-4 进行质量保证

背景 在数据库行业&#xff0c;质量是核心要素。 Databend 的应用场景广泛&#xff0c;特别是在金融相关领域&#xff0c;其查询结果的准确性对用户至关重要。因此&#xff0c;在快速迭代的过程中&#xff0c;如何确保产品质量&#xff0c;成为我们面临的重大挑战。 随着 Da…

IDEA项目发布中,Web Application:Exploded和Web Application:Archive的详细解释

简单总结下&#xff1a; 1、web application:exploded&#xff1a;这个是以文件夹形式发布项目&#xff0c;发布项目时就会自动生成文件夹在指定的output directory&#xff1b;&#xff08;开发&#xff09; 2、web application:archive&#xff1a;就是war包形式&#xff0…

芯片量产导入知识

什么是芯片量产 从芯片功能设计到生产制造、测试等环节&#xff0c;每一个环节都至关重要。 对于保障大规模发货后芯片指标表现的一致性&#xff0c;以及产品应用生命周期内的稳定性和可靠性&#xff0c;需要考虑多种因素。以下是一些相关的观点&#xff1a; 可量产性设计&am…

Java网络通信总结

网络程序设计基础 局域网与互联网 为了实现两台计算机的通信&#xff0c;必须用一个网络线路连接两台计算机。如下图所示 网络协议 1.IP协议 IP是Internet Protocol的简称&#xff0c;是一种网络协议。Internet 网络采用的协议是TCP/IP协议&#xff0c;其全称是Transmission …