vector<int> printMatrix(vector<vector<int> > matrix) {
if(matrix.empty())
cerr<<"wrong input" ;
int raw_end=matrix.size()-1;
int col_end=matrix[0].size()-1;
int raw_start=0;
int col_start=0;
vector<int> result;
while(raw_start<=raw_end&&col_start<=col_end){
FindMatrix(matrix,raw_start,raw_end,col_start,col_end,result);
raw_start=raw_start+1;
raw_end=raw_end-1;
col_start=col_start+1;
col_end=col_end-1;
}
return result;
}
vector<int> FindMatrix(const vector<vector<int> >& matrix,int raw_start,int raw_end,int col_start,int col_end,vector<int>& result){
for(int j=col_start;j<=col_end;j++)
result.push_back(matrix[raw_start][j]);
if(raw_end>raw_start){//从上到下打印一列->至少要两行
for(int i=raw_start+1;i<=raw_end;i++)
result.push_back(matrix[i][col_end]);
}
if(raw_end>raw_start&&col_end>col_start){//从右向左打印一行->至少要两行两列
for(int j=col_end-1;j>=col_start;j--)
result.push_back(matrix[raw_end][j]);
}
if(raw_end>raw_start+1&&col_end>col_start){//从下到上打印一列->至少要三行两列
for(int i=raw_end-1;i>=raw_start+1;i--)
result.push_back(matrix[i][col_start]);
}
return result;
}
相关推荐
图像去雾常见数据集
上述数据集涵盖了室内、室外、真实和合成等多种场景,可以满足不同研究需求。在选择数据集时,建议根据具体任务的应用场景和目标选择合适的数据集,例如真实雾天图像适合模型的实际应用验证,而合成数据则适合模型的快速迭代和训练。希望本文能为从事图像去雾研究的朋友提供一些帮助!
顺时针打印矩阵
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路这道题太容易错了。算出需要循环几个圈,最后多余的一排(或一列)单独处理;在每一圈写四个循环,分别处理一个圈的四边,注意边角的处理...
PX4固件下VTOL固定翼的3种起飞方式对比:手抛vs弹射vs跑道
本文深度解析PX4固件下VTOL固定翼的三种起飞方式:手抛、弹射与跑道起飞,对比其技术差异与适用场景。通过详细的参数配置和工程实践指南,帮助开发者优化起飞性能,提升无人机在不同环境下的适应性和可靠性。文章特别针对PX4飞控系统的最新特性进行了技术探讨。
C/C++笔记
1. int, long, long long, short 的区别?无符号和有符号区别?float 和 double区别? int,long, long long 和short 都属于整型,区别是C++标准规定的尺寸的最小值(即该类型在内存中所占的比特数)不同。其中,short是短整型,占16位;int是整型,占16位;long和long long均为长整型,分别占用32位和64位。 ...
docker安装fastdfs+nginx配置
docker安装fastdfs+nginx,实现图片或文件的上传与下载
反相器(inverter)和缓冲器(buffer)---附加与非门原理图
下面是对反相器(Inverter)和缓冲器(Buffer)从面积、驱动能力、时序等多个角度的详细对比,列出的是一般情况下的比较,具体情况可能会受到工艺节点、设计库和特定设计要求的影响。缓冲器(Buffer)是数字电路中常见的逻辑门之一,用于增强信号的驱动能力,而不改变信号的逻辑状态。如下图所示的CMOS反相器,由一个NMOS和PMOS组成,栅端gate相连作为输入端Vin,漏端相连作为输出端Vout,NMOS的源端接地,PMOS的源端接电源VDD.与反相器不同,缓冲器的输出与输入保持相同的逻辑状态。
算法-面试-顺时针打印矩阵
算法-面试-顺时针打印矩阵 1 题目概述 1.1 题目出处 https://leetcode-cn.com/problems/shun-shi-zhen-da-yin-ju-zhen-lcof/ 1.2 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 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
实战指南:轻松破解DataDome滑块验证码的关键步骤
本文详细介绍了破解DataDome滑块验证码的关键步骤,包括理解其工作原理、准备工作、参数获取与配置、完整破解流程及API调用。通过使用Capsolver服务和模拟真实用户行为,帮助开发者有效绕过这一反机器人机制,同时强调了法律与道德考量。
3.C++ 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字
题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字;,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 方法一:标记数组法 基本思路:使用dx和dy用来表示前进的方向;其中分别表示向右,向下、向左、向上;使用flag用来标...
解锁RK3588:内核模块签名与安全启动配置全攻略
RK3588作为一款高性能嵌入式SoC芯片,其内核模块签名与安全启动配置是保障系统安全的核心机制。本文详细介绍了RK3588的芯片特性,重点阐述了安全启动的硬件信任链原理和内核模块签名的实现方法。通过具体步骤演示了从密钥生成、模块签名到验证加载的完整流程,并深入解析了安全启动配置的硬件连接、软件工具准备、密钥烧录等关键环节。此外,还提出了防御旁路攻击和动态信任链扩展等高级安全策略,为RK3588在工业控制、智能安防等高安全要求场景中的应用提供了全面的安全解决方案。
SAP 标准 CDS View 到底能不能用 CDS Extension View 扩展,我们在项目里应该这样判断
文章摘要:判断SAP标准CDS视图(如A_PRODUCT)能否扩展字段,不能仅凭命名或@Metadata.allowExtensions判断,需检查DDL源码中的@AbapCatalog.viewEnhancementCategory值。#PROJECTION_LIST允许扩展字段,#NONE则禁止。聚合视图需额外包含#GROUP_BY,UNION视图需#UNION。CDS View Extension用于新增字段,Metadata Extension仅用于添加注解。在ABAP Cloud环境中还需检查AP
面试题20:顺时针打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每个数字。 这个问题之前在leecode上也碰到过,当时有人写了一种挺好的方法,借助于游戏设置上下左右的方法,具体有点不记得了。这道题看上去简单,但是写起来不容易,各种情况,开始很难考虑全,先写书上提到的方法吧。 class Solution { public: vector printMatrix(vector >
开放平台实现安全的身份认证与授权原理与实战:使用OAuth 2.0实现授权码模式
作者:禅与计算机程序设计艺术 1.背景介绍 随着互联网应用的飞速发展,各种网站、App、小程序等都将逐渐向用户提供了丰富的功能和服务。在这些应用中,用户通常需要登录才能使用这些服务,这就涉及到用户信息的安全问题。如果用户的信息被泄露或篡改,那么可能造成严重后果。因此,为这些应用提供安全且健壮的身份验
LeetCode 面试题29. 顺时针打印矩阵
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
RU DOS版、EFI版32bit/64bit BIOS常用工具
DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。
SIMATIC S7-1200, S7-1500 PID 控制[手册]
SIMATIC S7-1200, S7-1500 PID 控制[手册]
LeetCode刷题之面试题29. 顺时针打印矩阵
LeetCode刷题之面试题29. 顺时针打印矩阵 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例: 示例 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,
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
Leetcode面试题29. 顺时针打印矩阵[Easy] -JAVA
面试题29. 顺时针打印矩阵 https://leetcode-cn.com/problems/shun-shi-zhen-da-yin-ju-zhen-lcof/ 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 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,1
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
leetcode 面试题29. 顺时针打印矩阵
leetcode 面试题29. 顺时针打印矩阵 题目详情 题目链接 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 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] 限制: 0 <= matrix.length <= 10
LeetCode-面试题29、顺时针打印矩阵-简单
LeetCode-面试题29、顺时针打印矩阵-简单 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 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] 限制: 0 <= matrix.length <= 100 0 .
力扣 面试题29. 顺时针打印矩阵(简单难度)
力扣 面试题29. 顺时针打印矩阵(简单难度) 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 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] 说说这题的思路,我先定义了当前坐标,用(x,y)表示,然后定义上左下右四个边界值。模拟取
剑指 Offer(第2版)面试题 29:顺时针打印矩阵
剑指 Offer(第2版)面试题 29:顺时针打印矩阵
【Python】【难度:简单】Leetcode 面试题29. 顺时针打印矩阵【完】
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 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] 限制: 0 <= matrix.length <= 100 0 <= matrix[i].length&...
面试题29. 顺时针打印矩阵
面试题29. 顺时针打印矩阵 难度:简单 2020/6/5每日一题打卡√ 题目描述 解题思路 1、按层模拟 把整个矩阵想象乘一圈一圈的圆形⚪,先遍历最外面那层,然后往里遍历一层。不知道为什么我一开始想到的就是用递归写,实际上不用递归也可以的 用level记录层数,也即是偏移量 /* * 面试题29. 顺时针打印矩阵 * 2020/6/5每日一题打卡 */ public int[] spiralOrder(int[][] matrix) { int m = matrix.le
面试题29.顺时针打印矩阵
面试题29.顺时针打印矩阵 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 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,...
6333



被折叠的 条评论
为什么被折叠?



