[编程题] 二维数组打印
来源:互联网 发布:网络电话拨号软件 编辑:程序博客网 时间:2024/06/05 15:19
有一个二维数组(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]
#include "stdafx.h" #include <iostream> #include <vector> #include <string> #include <map> using namespace::std; class Printer { public: vector<int> arrayPrint(vector<vector<int> > vec, int n) { // write code here vector<int> result; int col = n - 1; for (int i = col; i >= 0; --i) { int row = 0; int k = n - i; for (int j = i; k > 0; ++j, --k) { result.push_back(vec[row][j]); ++row; } } int row = 1; for (int i = row; i <= n - 1; ++i) { int k = n - i; int col = 0; for (int j = i; k > 0; --k, ++j) { result.push_back(vec[j][col]); ++col; } } return result; } }; int main() { vector<vector<int>> vec = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }, { 13, 14, 15, 16 } }; Printer obj; vector<int> result = obj.arrayPrint(vec, vec.size()); return 0; }
阅读全文
0 0
- [编程题] 二维数组打印
- 打印二维数组
- 螺旋打印二维数组
- 打印不规则二维数组
- 转圈打印二维数组
- 二维数组顺时针打印
- 二维数组打印
- 转圈打印二维数组
- java打印二维数组
- 顺时针打印二维数组
- 二维数组的打印
- 二维数组的打印
- 打印二维数组
- 二维数组对角线打印
- Java打印二维数组
- 螺旋打印二维数组
- 二维数组打印
- 二维数组打印
- 8月8日训练笔记
- 【MVC】传值大全参考
- Configuration--mappers(三-8)
- DBUtils学习之——使用ResultSetHandler接口的各个实现类实现数据库的增删改查
- TextView、EditText字体大小调节
- [编程题] 二维数组打印
- 时间和日期
- HTML、CSS知识汇总
- 2017 Multi-University Training Contest
- QT插件+ROS 1 安装配置
- 10几天的总结
- stm32成长记之中断介绍
- 1.GitHub 操作总结
- 特征值和特征向量之学习笔记