第四章:多维数组和矩阵 --------------- 4.1 基础题:顺时针打印二维数组

从零到一:基于GeneMark-ES/ET的新基因组注释实战指南 本文提供了一份基于GeneMark-ES/ET的新基因组注释实战指南。详细介绍了从环境搭建、数据准备到核心运行的全流程,重点解析了ES(从头预测)与ET(结合RNA-Seq证据)两种模式的选择与操作,并分享了Perl模块依赖、并行处理等常见问题的解决方案,帮助生物信息学研究者高效完成基因预测工作。 阅读详情

顺时针打印二维数组:

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 

 1      2     3     4      5
 6      7     8     9     10
11    12   13   14    15
16    17   18   19     20

 则依次打印出数字1 2 3 4 5 10 15 20 19 18 17 16 11 6 7 8 9 14 13 12。

 

#include<iostream>
#include<vector>
using namespace std;

void printMat(vector<vector<int> > mat)
{
	int left=0,right=mat.front().size()-1; //left:左边列号;right:右边列号
	int top=0,bottom=mat.size()-1;//top:上边行号; bottom:下边行号
	while(left<=right&&top<=bottom)
	{
		int l=left,t=top+1,r=right-1,b=bottom-1;
		//上面一条边,从左到右
		while(l<=right)
		{
			cout<<mat[top][l++]<<" ";
		} 
		//右边一条边,从上到下
		while(t<=bottom)
		{
			cout<<mat[t++][right]<<" ";
		} 
		//下边一条边,从右向左
		while(r>=left)
		{
			cout<<mat[bottom][r--]<<" ";
		} 
		//左边一条边,从下到上
		while(b>=top+1)
		{
			cout<<mat[b--][left]<<" ";
		} 
		left++;
		top++;
		right--;
		bottom--;		
	} 	
}

int main()
{
	vector<vector<int> > matrix;
	//二维向量初始化
	for(int i=0,data=1;i<4;i++)  //4行 
	{
		vector<int> temp;
		for(int j=0;j<5;j++)  //5列 
		{
			temp.push_back(data);
			cout<<data<<" ";
			data++;
		}
		cout<<endl;
		matrix.push_back(temp);		
	} 
	
	printMat(matrix);
	return 0;	
}

结果:

 

参考:https://blog.youkuaiyun.com/u014474985/article/details/79377838 

 

Motoman机器人离线编程——Motocom32开发简介 欢迎关注Jungle的Motoman机器人离线编程专栏系列文章: Motoman机器人离线编程——Motocom32开发简介 Motoman机器人离线编程——Visio Studio环境配置 Motoman机器人离线编程——Motocom32库函数的使用与封装 Motoman机器人离线编程——Motocom32参考文献及注意事项 Motoman机器人离线编程——MotocomES介绍 ... 阅读详情

相关推荐

Kali实战:构建安卓远程监控工具,实现拍照、定位与信息获取

本文详细介绍了如何使用Kali Linux构建安卓远程监控工具,实现拍照、定位与信息获取功能。通过Metasploit框架生成安卓载荷,部署到目标设备并建立连接,执行远程监控操作如获取位置信息、拍照和读取通讯录。文章还提供了进阶技巧与问题排查方法,强调法律与道德考量。

weixin_28716443的博客 239

数组之二维数组顺时针打印

剑指 Offer 29. 顺时针打印矩阵 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 解法:模拟边界法 算法流程: 空值处理: 当 matrix 为空时,直接返回空列表 [] 即可。 初始化: 矩阵 上下左右 四个边界 top、bom、lef、rig ,用于打印的结果列表 arr 。 循环打印: “从左向右、从上向下、从右向左、从下向上”

aceyaya的博客 1040

保姆级教程:用Labelme标注车辆关键点,并一键转成YOLOv8-pose训练格式

本文提供了一份详细的车辆底盘关键点标注教程,从使用Labelme进行标注到一键转换为YOLOv8-pose训练格式的全流程指南。特别针对工业检测和自动驾驶场景,分享了标注规范、格式转换脚本及常见问题解决方案,帮助开发者高效准备训练数据并优化模型性能。

weixin_27419879的博客 309

C语言 顺时针打印矩阵(二维数组)

要求 给出二维数组,要求按顺时针打印二维数组。 例如给出 输入 int arr[][3]{1,2,3,4,5,6,7,8,9} 输出 [1,2,3,6,9,8,7,4,5] 解题思路 顺时针打印矩阵的顺序是 “从左向右、从上向下、从右向左、从下向上” 循环。 算法流程 1、当 arr为空时,直接返回空列表 [] 即可。 2、矩阵 左、右、上、下 四个边界 l , r , t , b ,用于打印的结果列表 val 。 3、“从左向右、从上向下、从右向左、从下向上” 四个方向循环,每个方向打印中做以下三件事 (

WhiteShirtI的博客 8792

C#.NET斗地主服务端核心架构与高性能实现

斗地主作为典型的实时对战棋牌逻辑,本质是状态驱动的分布式协同问题。其技术内核涵盖有限状态机建模、低延迟网络同步、无GC内存操作与轻量级AI决策等关键能力。在.NET平台下,借助Span<T>、ImmutableArray、命令/事件总线与内存池等特性,可构建出高吞吐(200+ QPS)、低延迟(<150ms)、强一致的可落地服务端。本文聚焦C#.NET生态中斗地主核心模块的设计取舍与压测验证,深入解析状态机驱动、CardSet结构体优化、Kestrel中间件锁、规则+概率混合AI等实战方案,为实时对战类业务

weixin_29726381的博客 345

Linux新手必看:FinalShell连接不上?从检查IP到配置固定地址的完整排错指南

本文为Linux新手提供了FinalShell连接失败的完整排错指南,涵盖IP检查、SSH服务状态、防火墙配置和静态IP设置等关键步骤。通过详细的命令行操作和配置示例,帮助用户快速解决远程连接问题,提升Linux使用效率。

weixin_30675247的博客 753

Java算法--第四章--多维数组和矩阵(1)顺时针打印二维数组

Java算法–第四章–多维数组和矩阵(1)顺时针打印二维数组 代码: package matrix; public class Print20Arr { public static void main(String[] args) { int[][] matrix = { { 1, 2, 3, 4, 5 }, { 6, 7, 8, 9, 10 }, { 11, 12, 13, 14, 15 }, { 16, 17, 18, 19, 20 }, { 21, 22, 23, 24, 25 }

wp_886的博客 443

Spring Boot应用Docker化实战:从Dockerfile编写到镜像推送完整流程

本文详细介绍了将Spring Boot应用Docker化的完整实战流程。从环境准备、项目审视,到编写高效且安全的Dockerfile,重点讲解了多阶段构建、镜像层优化、Spring Boot分层JAR等核心技巧,并涵盖了镜像构建、验证、调试以及最终推送至仓库并集成CI/CD的最佳实践,帮助开发者构建生产级Docker镜像。

butter的博客 1023

第四章 多维数组与矩阵

1、顺时针打印二维数组 package org.lanqiao.algo.elementary._04matrix; /** * 顺时针打印二维数组 输入 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 */ public class Case...

h_666666的博客 377

PyTorch实战(2)——使用PyTorch构建神经网络

在本节中,我们使用 PyTorch 在简单数据集上构建了一个神经网络,训练神经网络来映射输入和输出,并通过执行反向传播来更新权重值以最小化损失值,并利用 Sequential 类简化网络构建过程;介绍了获取网络中间值的常用方法,以及如何使用 save、load 方法保存和加载模型,以避免再次训练模型。

盼小辉丶的博客 1万+

Pointnet++改进91:2025最新改进模块-RepMBConv模块

本文提出了一种改进PointNet++网络的方法,通过在特征提取模块中引入RepMBConv结构来提升模型性能。主要内容包括:1)理论部分介绍了RepMBConv的设计原理,包含自监督学习框架、动态上下文建模等创新点;2)详细给出了三步修改步骤:创建包含RepMBConv的Python模块、在pointnet2_utils.py中添加注意力机制、修改pointnet2_sem_seg.py主网络结构;3)代码实现展示了如何将RepMBConv集成到PointNetSetAbstraction模块中,形成Po

AIcurator的博客 275

算法:JavaScript顺时针打印矩阵

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字, 例如,如果输入如下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. 思路:每一圈起始坐标I,J分别乘以2均小于行列数是每一圈遍历的条件 遍历每一圈,分上下左右四个部分,以3x3矩阵为例,...

止水 1334

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

多维数组和矩阵之顺时针打印二维数组

题目描述: 输入一个矩阵,按照从外向里以顺时针打印出每一个数字,例如:输入如下矩阵, 则依次打印出的数字为: 1、2、3、4、8、12、16、15、14、13、9、5、6、7、11、10 算法思路 打印顺序如图所示: 顺时针打印,从外到里,不失普遍性针对所有循环圈都是: 第一步: 先打印上面一条边,再打印右边一条边,再打印下面一条边,最后打印左边一条边。打印一圈以后,左上角的指针像右下角移动,...

Superman_peng的博客 457

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

算法很美 笔记 4.多维数组与矩阵

4.多维数组与矩阵 题1 :顺时针打印二维数组 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 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...

xcsxchen 997

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

[算法系列] 多维数组--超详细解答!!记几道经典的多维数组习题(顺时针打印矩阵,z字型打印矩阵等)

[算法系列] 多维数组–记几道经典的多维数组习题 1. 顺时针打印二维数组 传入一个二维数组 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 8 12 11 10 分析: 有如下二维数组, 那么它具体打印顺序是像右面这样的: 按照 1…5...

lawfree的博客 3388

【算法很美】多维数组与矩阵

多维数组与矩阵1. 多维数组基础题● 顺时针打印二维数组● 零所在行列清零● Z字型打印矩阵2. 复杂解● 边界为1的最大字方阵● 编程返回子数组最大累加和● 求子矩阵最大累加和● 矩阵运算一、矩阵的加法与减法二、矩阵与数的乘法三、矩阵与矩阵的乘法 1. 多维数组基础题 ● 顺时针打印二维数组 一圈一圈的打印,每圈以 每圈左上角坐标和右下角坐标 为边界。 public static void print(int[][] matrix) { int leftUpRow = 0, leftUpCo

weixin_48434658的博客 724

多维数组和矩阵程序练习

顺时针打印二维数组: 题目: 顺时针打印二维数组。 例如:将如下数组: {{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 思路: 可以先一圈一圈的打印。先打印外圈,再缩小边界范围循环打印内圈即可。打印的时候注意控制边界。 代码...

曹世宏的博客 825

四、多维数组_01 &顺时针打印二维数组(笔记)

import java.util.Scanner; public class A018_顺时针打印二维数组 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = 8; int m = 5; int[][] a = new int[n][m]; boo...

oQQSanGuo的博客 177

顺时针打印二维数组:Java 实现与详细解析

这道顺时针打印二维数组的题目虽然看似繁琐,但通过清晰的逻辑、合理的变量命名、正确的边界控制以及充分的测试,我们能够顺利解决。它不仅考察了对数组操作和循环的掌握,更锻炼了我们的逻辑思维和编程细节处理能力。希望通过本文的讲解,能帮助大家更好地理解和解决此类问题,在算法学习的道路上更进一步。

m0_57836225的博客 374

蓝桥杯《算法很美》第四章 多维数组和矩阵

【1】顺时针打印二维数组 #include &lt;iostream&gt; #include &lt;iomanip&gt; #define MAX 10 /** 回型打印N行M列矩阵 通过不断定位“口”字的左上角和右下角 先打印一圈,再找到重新定位左上角和右下角的规律 */ void Print_arr(int A[MAX][MAX], int N, int M){...

Show me CODE 359

Java:顺时针打印矩阵(附带源码)

Java:顺时针打印矩阵(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 991

剑指Offer_Java_顺时针打印矩阵(二维数组)

顺(逆)时针打印矩阵 算法思想: 简单来说,就是不断地收缩矩阵的边界 定义四个变量代表范围,up(初始0)、down(初始-行高)、left(初始-0)、right(初始-列宽), 向右走存入整行的值,当存入后,该行再也不会被遍历,代表上边界的 up 加一,同时判断是否和代表下边界的 down 交错; 向下走存入整列的值,当存入后,该列再也不会被遍历,代表右边界的 right 减一,同时判断是否和代表左边界的 left 交错; 向左走存入整行的值,当存入后,该行再也不会被遍历,代表下边界的 down 减

Hningning的博客 380

多维数组和矩阵----基础训练

基础题一:顺时针打印二维数组   代码: 1 /** 2 * 顺时针打印二维数组 3 输入 4 1 2 3 4 5 5 6 7 8 6 9 10 11 12 7 13 14 15 16 8 输出 9 1 2 3 4 8 12 16 15 14 13 9...

weixin_30755393的博客 250

顺时针打印矩阵

【题目】输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如:如果输入如下矩阵: 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【分析】如图,对于矩阵有以下几种情况,顺

xinyu913 745

Java:打印螺旋矩阵(附带源码)

Java:打印螺旋矩阵(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1198

题1:顺时针打印二维数组

题目: 输入: 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 package 多维数组与矩阵; /** * 输入: * * 1234 * 5 6 78 * 9 10 1112 * 13 14 15 16 * 输出:1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 */ public class ...

m0_66279156的博客 282
上一篇: vector访问与赋值
下一篇: C++数组默认初值问题
Estrellas_
博客等级 码龄9年 273粉丝 233原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值