c++-二维数组打印对角线打印
来源:互联网 发布:mac系统怎么装win10 编辑:程序博客网 时间:2024/05/22 08:09
题目描述
有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印。
给定一个二位数组arr及题目中的参数n,请返回结果数组。
测试样例:
[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]],4
返回:[4,3,8,2,7,12,1,6,11,16,5,10,15,9,14,13]
题目很容易理解,思路就是利用对角线中,相邻成员的下标递增,a[i][i]的下一个就是a[i+1][i+1],利用好这一点即可。
然后分右上角和左下角两部分进行处理:
class Printer {public: vector<int> arrayPrint(vector<vector<int> > arr, int n) { // write code here vector<int> res; for (int i=n-1;i>=0;i--){ int x=0; int y=i; while(x<n && y<n){ res.push_back(arr[x][y]); x++; y++; } } for(int j=1;j<n;j++) { int x=j; int y=0; while(x<n && y<n){ res.push_back(arr[x][y]); x++; y++; } } return res; }};
第一个for循环是对右上角进行处理,第二个for循环是对左下角进行处理
阅读全文
0 0
- c++-二维数组打印对角线打印
- 二维数组对角线打印
- 沿对角线打印数组(任意二维数组)
- C中的二维数组打印
- 沿对角线方向打印数组
- 二维数组(N*N),沿对角线方向,从右上角打印到左下角
- 二维数组(N*N),沿对角线方向,从右上角打印到左下角
- 对角线打印二维数组----美团2016研发工程师编程题(二)
- 主对角线打印二维数组---美团点评2016研发工程师编程题(二)
- 每日AC -- 主对角线打印二维数组---美团点评2016研发工程师编程题(二)
- 打印二维数组
- 螺旋打印二维数组
- 打印不规则二维数组
- 转圈打印二维数组
- 二维数组顺时针打印
- 二维数组打印
- 转圈打印二维数组
- java打印二维数组
- 《数字技术》连载32 第4章 信息的寄存传输和转换 第5节 奇偶校验
- java策略模式
- dd大牛背包九讲(01,完全,多重,混合,二维,分组等背包)(转载+补充)一万二千字!!!
- cudaMallocPitch
- 第18节-控制结构与流程图
- c++-二维数组打印对角线打印
- iOS内购—— In-App Purchase(消耗型)
- 每天一个linux命令(11):nl命令
- Hive的语法知识详解
- 解决html页面中含有input输入框fixed布局底部按钮在Android和ios中被弹起的问题
- 20171011_chr_InnerValidator 校验框架输入校验(内建校验器)
- 移动web(二)viewport视口、像素密度
- 每天一个linux命令(12):more命令
- 在Jupyter notebook里使用conda和pip