博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
顺时针打印矩阵
阅读量:5034 次
发布时间:2019-06-12

本文共 983 字,大约阅读时间需要 3 分钟。

题目描述

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下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.  

这道题和2018blibli笔试题是一个类型的(几乎是一样的):

 常规解题思路:加上一个vis数组用来判断是否遍历过此点,再加上一个大的控制结束的循环和4个方向的循环就可解题

 

class Solution {public:    vector
printMatrix(vector
>a) { int vis[100][100]={
0}; int i=0,j=0; int s=0; int rows=a.size(),cols=a[0].size(); vector
result;//结果向量保存输出结果 while(s!=rows*cols){ while(j
=0&&vis[i][j]==0){
//turn left,注意j>=0,最开始鞋厂j>0害我检查半天 result.push_back(a[i][j]); vis[i][j]=1; s++;j--; }j++;i--; while(i>=0&&vis[i][j]==0){
//turn right,注意j>=0,最开始鞋厂i>0害我检查半天 result.push_back(a[i][j]); vis[i][j]=1; s++;i--; }i++;j++; }return result; }};

 

 

转载于:https://www.cnblogs.com/cstdio1/p/11235884.html

你可能感兴趣的文章
《架构之美》阅读笔记05
查看>>
《大道至简》读后感——论沟通的重要性
查看>>
JDBC基础篇(MYSQL)——使用statement执行DQL语句(select)
查看>>
关于React中props与state的一知半解
查看>>
java中Hashtable和HashMap的区别(转)
查看>>
关闭数据库
查看>>
webStrom智能提示忽略首字母大小写问题
查看>>
层叠加的五条叠加法则(一)
查看>>
设计模式六大原则(5):迪米特法则
查看>>
对Feature的操作插入添加删除
查看>>
javascript String
查看>>
ecshop 系统信息在哪个页面
查看>>
【转】码云source tree 提交超过100m 为什么大文件推不上去
查看>>
Oracle数据库的增、删、改、查
查看>>
阿里市值超越亚马逊 马云开启下半场技术理想
查看>>
MySql执行分析
查看>>
git使用中的问题
查看>>
yaml文件 .yml
查看>>
linux字符集修改
查看>>
phpcms 添加自定义表单 留言
查看>>