螺旋矩阵

news2024/11/24 7:06:13

螺旋矩阵

思路:

这题是一个模拟的题目。

可以观察出一些性质:每次需要换方向的时候都是到达了边界(长度和宽度的边界)。

不知道怎么转化为代码! 哭了

看看题解吧:真不会

看到一个太妙的方法了:

代码:

class Solution {
public:
    vector<int> spiralOrder(vector<vector<int>>& matrix) {
        int left=0;//左边界
        int right=matrix[0].size()-1;//右边界
        int top=0;//上边界
        int down=matrix.size()-1;//下边界
        vector<int> ans;
        if(matrix.empty()) return ans; //若数组为空,直接返回答案
        while(1)
        {
            for(int i=left;i<=right;i++)//向右移动直到最右
            {
                ans.push_back(matrix[top][i]);
            }
            if(++top>down) break;
            for(int i=top;i<=down;i++)//向下移动直到最下
            {
                ans.push_back(matrix[i][right]);
            }
            if(--right<left) break;
            for(int i=right;i>=left;i--)//向左移动直到最左
            {
                ans.push_back(matrix[down][i]);
            }
            if(--down<top) break;
            for(int i=down;i>=top;i--)//向上移动直到最上
            {
                ans.push_back(matrix[i][left]);
            }
            if(++left>right) break;
        }
        return ans;
    }
};

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《变形金刚》战斗力排名分析

Top1 天火擎天柱 作为博派的领袖&#xff0c;擎天柱本身实力不凡。然而&#xff0c;胜败乃兵家常事。在《变形金刚2》中&#xff0c;他虽然成功击败了破坏者、碾碎器和红蜘蛛&#xff0c;却不幸被威震天一炮穿心&#xff0c;阵亡。 不过&#xff0c;擎天柱是《变形金刚》系列…

Zero123 论文学习

论文链接&#xff1a;https://arxiv.org/abs/2303.11328 代码链接&#xff1a;https://github.com/cvlab-columbia/zero123 解决了什么问题&#xff1f; 人类通常能够仅凭一个相机视角来想象物体的三维形状和外观。这种能力对于日常任务非常重要&#xff0c;例如物体操纵和在…

快速掌握Vue:基础命令详解

目录 1. Vue概述 2. 快速入门 3. Vue指令 3.1 v-bind 3.2 v-model 3.3 v-on 3.4 v-if 3.5 v-show 3.6 v-for 3.7 案例 4. 生命周期 1. Vue概述 Vue.js&#xff08;读音 /vjuː/, 类似于 「view」&#xff09; 是一套构建用户界面的 「渐进式框架」。与其他重量级框…

【EI会议征稿通知】第六届光电科学与材料国际学术会议 (ICOSM 2024)

会议主要围绕“光电技术应用”“光电科学材料”“光电信号处理”“低温等离子体技术与应用” “激光技术与应用”“材料科学”等研究领域展开讨论。旨在为光电学、电子工程学等专家学者、工程技术人员、技术研发人员提供一个交流平台。拓展国内外光电科学与材料技术方面的研究范…

科普文:微服务之全文检索ElasticSearch忝删改查详细操作说明

一、Restful简介 RESTFul&#xff1a;Representational State Transfer&#xff0c;中文意思&#xff1a;表现层状态转化。变现层指的是资源的表现层&#xff0c;这里的资源是指网络上的信息&#xff0c;比如一张图片&#xff0c;一段文本&#xff0c;一步电影&#xff0c;那么…

数据结构(学习)2024.8.6

今天开始学习数据结构的相关知识&#xff0c;大概分为了解数据结构、算法&#xff1b;学习线性表&#xff1a;顺序表、链表、栈、队列的相关知识和树&#xff1a;二叉树、遍历、创建&#xff0c;查询方法、排序方式等。 目录 一、数据结构 数据 逻辑结构 1.线性结构 2.树…

JavaEE: wait(等待) / notify (通知)

文章目录 wait(等待) / notify (通知)总结 wait(等待) / notify (通知) 线程在操作系统上的调度是随机的~ 那么我们想要控制线程之间执行某个逻辑的先后顺序,那该咋办呢? 可以让后执行的逻辑,使用wait, 先执行的线程,在完成某些逻辑之后,通过notify来唤醒对应的wait. 另外,通…

谈谈如何优雅地封装 el-table

效果 像这样的表格我们可以这样划分一下区域&#xff1a; 1区域的渲染是通过取反插槽的条件 2区域的渲染是写在 slot 插槽的内部的&#xff0c;直接显示行数据3区域的渲染是通过具名插槽 bind 渲染 直接上代码&#xff1a; 子组件&#xff1a; <template><el-tabl…

为什么要用分布式锁

单应用中,如果要确保多线程修改同一个资源的安全性 加synchronized就可以了 但是性能不高 而mybatis-plus的乐观锁就可以很好的解决这类问题 但是这样的锁机制,只在单应用中有效 试想,在分布式下,有没有可能出现多个应用中的线程同时去修改同一个数据资源的并发问题 例如A …

Golang | Leetcode Golang题解之第328题奇偶链表

题目&#xff1a; 题解&#xff1a; func oddEvenList(head *ListNode) *ListNode {if head nil {return head}evenHead : head.Nextodd : headeven : evenHeadfor even ! nil && even.Next ! nil {odd.Next even.Nextodd odd.Nexteven.Next odd.Nexteven even.N…

65 生成器函数设计要点

包含 yield 语句的函数可以用来创建生成器对象&#xff0c;这样的函数也称为生成器函数。yield 语句与 return 语句的作用相似&#xff0c;都是用来从函数中返回值。return 语句一旦执行会立刻结束函数的运行&#xff0c;而每次执行到 yield 语句返回一个值之后会暂停或挂起后面…

无人机无线电监测设备技术分析

随着无人机技术的飞速发展&#xff0c;其在民用、军事、科研及娱乐等领域的广泛应用&#xff0c;对无线电频谱资源的有效管理和监测提出了更高要求。无人机无线电监测设备作为保障空域安全、维护无线电秩序的重要工具&#xff0c;集成了高精度定位、频谱扫描、信号分析、数据处…

stm32应用、项目

主要记录实际使用中的一些注意点。 1.LCD1602 电路图&#xff1a; 看手册&#xff1a;电源和背光可以使用5v或者3.3v&#xff0c;数据和控制引脚直接和单片机引脚连接即可。 单片机型号&#xff1a;stm32c031c6t6 可以直接使用推完输出连接D0--D7,RS,EN,RW引脚&#xff0c;3…

大数据面试SQL(二):每天最高峰同时直播人数

文章目录 每天最高峰同时直播人数 一、题目 二、分析 三、SQL实战 四、样例数据参考 每天最高峰同时直播人数 一、题目 有如下数据记录直播平台主播上播及下播时间&#xff0c;根据该数据计算出平台当天最高峰同时直播人数。 这里用主播名称做统计&#xff0c;前提是主…

Flask+LayUI开发手记(一):LayUI表格的前端数据分页展现

用数据表格table展示系统数据&#xff0c;是LayUI的基本功能&#xff0c;编码十分简单&#xff0c;就是通过table.render()渲染&#xff0c;把属性配置好就OK了&#xff0c;十分方便&#xff0c;功能也十分强大。 不过&#xff0c;在实现时&#xff0c;把table的有个功能却理解…

WPF MVVM实现TreeView层级显示

最近在写一个小工具的时候&#xff0c;遇到TreeView的层级显示&#xff0c;刚好我又用了MVVM模式&#xff0c;所以这里做个总结。 以前我是直接绑定XML数据到TreeView的&#xff0c;使用的XmlDataProvider&#xff0c;这次的数据是直接来自数据库的。 用到的都是Hierarchical…

Element学习(入门)(1)

1、Element官网&#xff1a;https://element.eleme.cn/#/zh-CN 2、来源与用处 3、Element的快速入门 &#xff08;1&#xff09; &#xff08;2&#xff09;在入口文件&#xff08;main.js&#xff09;中引入 &#xff08;3&#xff09; 4、快捷键ctrlc&#xff0c;在当前的项目…

【SpringBoot】自定义注解 I18n <约定式>国际化 (源码分享直接Copy)

0. 已做全新升级版 链接&#xff1a;【SpringBoot】自定义注解终极升级版&#xff1c;i18n国际化&#xff1e;方案源码Copy 链接&#xff1a;【SpringBoot】自定义注解终极升级版&#xff1c;i18n国际化&#xff1e;方案源码Copy 链接&#xff1a;【SpringBoot】自定义注解终…

【电子电路学习笔记】——模电笔记

关于专栏&#xff1a;本专栏用于分享学习电子电路过程中记录的笔记。模电部分使用的教材是高等教育出版社&#xff0c;华成英主编的《模拟电子技术基础&#xff08;第六版&#xff09;》&#xff08;其他版本的内容差不多&#xff0c;建议使用最新版教材&#xff09;&#xff1…

【完全二叉树的权值】

题目 代码1&#xff08;队列&#xff09; #include<bits/stdc.h> using namespace std; #define x first #define y second typedef pair<int, int> PII;const int N 1e510; int n; long long a[N]; queue<PII> q; long long sum[25]; int main() {memset(…