LeetCode 59. 螺旋矩阵 II LeetCode 54. 螺旋矩阵

文章目录

    • 1. 题目信息
    • 2. LeetCode 59 解题
    • 3. LeetCode 54. 螺旋矩阵
    • 4.《剑指Offer》面试题29

1. 题目信息

给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/spiral-matrix-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. LeetCode 59 解题

类似题目:LeetCode 885. 螺旋矩阵 III

  • 创建变量top、bottom表示上下行的区间,left、right表示列的区间
    在这里插入图片描述
class Solution {
public:vector<vector<int>> generateMatrix(int n) {vector<vector<int> > v(n, vector<int>(n,0));if(n == 0) return {};int i, num = 0, total = n*n, top = 0, bottom = n-1, left = 0, right = n-1;while(num < total){for(i = left; i <= right; ++i)v[top][i] = ++num;++top;for(i = top; i <= bottom; ++i)v[i][right] = ++num;--right;for(i = right; i >= left; --i)v[bottom][i] = ++num;--bottom;for(i = bottom; i >= top; --i)v[i][left] = ++num;++left;}return v;}
};

3. LeetCode 54. 螺旋矩阵

给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。
在这里插入图片描述

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {if(matrix.empty()) return {};vector<int> ans;int m = matrix.size(), n = matrix[0].size();int i, num = 0, total = m*n, top = 0, bottom = m-1, left = 0, right = n-1;while(num < total){for(i = left; i <= right; ++i)ans.push_back(matrix[top][i]),num++;if(num == total)break;++top;for(i = top; i <= bottom; ++i)ans.push_back(matrix[i][right]),num++;if(num == total)break;--right;for(i = right; i >= left; --i)ans.push_back(matrix[bottom][i]),num++;if(num == total)break;--bottom;for(i = bottom; i >= top; --i)ans.push_back(matrix[i][left]),num++;if(num == total)break;++left;}return ans;}
};

4.《剑指Offer》面试题29

面试题29. 顺时针打印矩阵

class Solution {	//2020.2.22
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {if(matrix.size()==0 || matrix[0].size()==0)return {};int i = 0, k = 0, count = matrix.size()*matrix[0].size();int left = 0, right = matrix[0].size()-1, up = 0, bottom = matrix.size()-1;vector<int> ans(count);while(count){i = left;while(count && i <= right){ans[k++] = matrix[up][i++];count--;}up++,i = up;while(count && i <= bottom){ans[k++] = matrix[i++][right];count--;}right--;i = right;while(count && i >= left){ans[k++] = matrix[bottom][i--];count--;}bottom--;i = bottom;while(count && i >= up){ans[k++] = matrix[i--][left];count--;}left++;}return ans;}
};

在这里插入图片描述

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

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

相关文章

如何查看Activity任务栈以及dumpsys_activity命令的简要使用及介绍

今天看到淘宝客户端的某个页面效果&#xff0c;效果是在两个Activity中做动画&#xff0c;为了知道究竟是不是在同一个Activity中做的效果&#xff0c;就必须采取一种手段来知道是不是同一个Activity.描述一下这个动画效果&#xff1a;列表页面点击图片&#xff0c;图片会滑动到…

论文浅尝 | 基于微量资源的神经网络跨语言命名实体识别

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究方向为跨语言知识图谱问答。来源&#xff1a;EMNLP 2018链接&#xff1a;https://www.aclweb.org/anthology/D18-1034问题背景与动机本文关注小语种/资源匮乏语言的跨语言命名实体识别问题&#xff0…

美团命名服务的挑战与演进

| 本文根据美团基础架构部技术专家舒超在2019 ArchSummit&#xff08;全球架构师峰会&#xff09;上的演讲内容整理而成。 命名服务主要解决微服务拆分后带来的服务发现、路由隔离等需求&#xff0c;是服务治理的基石。美团命名服务&#xff08;以下简称MNS&#xff09;作为服务…

ajax发送数据时的contentType

contentType&#xff1a; 指明发送的data数据&#xff08;这里是aa&#xff09;的类型 参数值&#xff1a;application/x-www-form-urlencoded&#xff08;默认&#xff09; 特点&#xff1a; 以key/value为一组使用&连接&#xff0c;如:usernamelly&password123&…

NeurIPS 2020 | 自步对比学习:充分挖掘无监督学习样本

文 | 葛艺潇源 | PaperWeekly本文介绍一篇我们发表于 NeurIPS-2020 的论文《Self-paced Contrastive Learning with Hybrid Memory for Domain Adaptive Object Re-ID》&#xff0c;该工作提出自步对比学习框架及混合记忆模型&#xff0c;旨在解决无监督及领域自适应表征学习中…

Postman安装与使用

原文链接&#xff1a;https://blog.csdn.net/fxbin123/article/details/80428216 一、Postman背景介绍 用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的&#xff0c;用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。…

Android中如何查看在res中存放的drawable文件对应的JAVA类型是什么呢

有些时候需要将res中的资源文件加载进来然后做一些修改&#xff0c;然后再赋值给控件使用&#xff0c;比如这样&#xff1a; Drawable drawable getResources().getDrawable(int id); 现在我需要把资源文件id所对应的Drawable对象加载进来&#xff0c;然后做向下转型处理&…

LeetCode 35. 搜索插入位置(二分查找)

文章目录1. 题目信息2. 解题2.1 暴力遍历2.2 二分查找1. 题目信息 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1:输入…

青年人在美团是怎样成长的?

2020年五四青年节&#xff0c;我们采访了美团技术团队9位青年代表&#xff0c;他们是来自清华大学、北京大学、中国科学院大学等国内高校的2位博士研究生和7位硕士研究生。在这个属于青年人的特别的日子里&#xff0c;我们请他们分享了自己在美团成长的故事。 道阻且长&#xf…

Failed to execute goal org.apache.maven.plugins:maven-resources-plugin

maven打jar包错误 引起错误的原因是在 SpringbootStudyApplication 类中&#xff0c;加入了下面注释中的代码&#xff08;监听项目启动&#xff0c;然后打开浏览器&#xff09;&#xff0c;单纯删掉注释代码是无法解决问题的&#xff0c;可能的原因是由于加入这部分代码而impo…

它来了它来了!2020深度学习硬核技术干货集锦!

这份干货来自于今天要给大家推荐的一个深度学习与计算机视觉领域知名公众号&#xff1a;「极市平台」。从2016年创立至今&#xff0c;极市平台深耕于DL与CV领域&#xff0c;输出300篇高质量原创文章&#xff0c;并积累了近10万名海内外专业算法开发者。极市平台公众号坚持每日更…

容器的使用和创建虚拟环境 vitualenv

xshell jupter容器的使用方法 #容器相当于子服务器 1 创建指定python版本的虚拟环境 方法1&#xff1a; 1.安装虚拟环境的第三方包 venv pip install venv 2.创建虚拟环境 cd 到存放虚拟环境的地址 在当前目录下创建名为env的虚拟环境&#xff1a; python -m venv env python…

Android中动态的更改selector中某张图片的属性

在我们平常开发的时候会有许多状态按钮&#xff0c;比如state_pressed&#xff0c;android:state_checked&#xff0c;或者就正常状态等等&#xff0c;我们做这样的效果通常需要三个文件&#xff0c;一张是按下的图片&#xff0c;一张是正常状态的图片&#xff0c;一张是管理它…

LeetCode 17. 电话号码的字母组合(回溯)

文章目录1. 题目信息2. 解题1. 题目信息 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例:输入&#xff1a;"23" 输出&#xff1a;[&…

细数一行代码改变结局的炼丹骚操作

文 | 陀飞轮&圈圈&年年的铲屎官源 | 知乎tips总结知乎答主&#xff1a;陀飞轮谈一下自己知道的。尽量避开优化器、激活函数、数据增强等改进。。先上完整列表&#xff1a;Deep Learning: Cyclic LR、FloodingImage classification: ResNet、GN、Label Smoothing、Shuff…

推荐收藏 | 美团技术团队的书单

4月23日对于世界文学而言是一个具有象征性意义的日子。1616年的这一天&#xff0c;塞万提斯、莎士比亚、印卡加西拉索德拉维加几位大师相继与世长辞。此外&#xff0c;这一天也是其他一些著名作家的出生和去世的日期&#xff0c;例如&#xff1a;莫里斯德吕翁、哈尔多尔K拉克斯…

论文浅尝 | 采用多层注意力机制的事件检测

笔记整理&#xff1a;杨帆&#xff0c;浙江大学计算机学院硕士&#xff0c;研究方向知识图谱。动机事件编码&#xff08;event encoding&#xff09;之前的工作集中在提取实体&#xff0c;检测触发单词以及匹配预定义的模板&#xff0c;这些方法存在以下缺点&#xff1a;首先它…

简单Nlp分析套路,获取数据(爬虫),数据处理(分词,词频,命名实体识别与关键词抽取),结果展现

简单NLP分析套路&#xff08;1&#xff09;----语料库积累之3种简单爬虫应对大部分网站&#xff1a; https://cloud.tencent.com/developer/article/1384454 简单NLP分析套路&#xff08;2&#xff09;----分词&#xff0c;词频&#xff0c;命名实体识别与关键词抽取&#xff…

在Activity启动过程中如何任务栈的栈顶是否是将要启动的Activity的实例

我们在ActivityStack类中可以看到某个方法用于返回当前任务栈顶端的ActivityRecord对象&#xff0c;如果栈是空的&#xff0c;就返回null&#xff0c;ActivityRecord用于代表在历史任务栈中的一个Activity对象的信息。 /*** Returns the top activity in any existing task ma…

无需人工!无需训练!构建知识图谱 BERT一下就行了!

文&#xff1a;Sherry今天给大家带来的是一篇号称可以自动建立知识图谱的文章《Language Models are Open Knowledge Graphs》&#xff0c;文中提出了一个叫Match and Map&#xff08;MAMA&#xff09;的模型&#xff0c;无需人工&#xff01;无需训练&#xff01;只需语料和预…