《美团点评》编程题---有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印
题目:有一个二维数组(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]
测试样例的数组如下:
import java.util.*;
public class Printer {public int[] arrayPrint(int[][] arr, int n) {int [] result = new int[n*n];int x=0;List<Integer> list = new ArrayList<>();for(int y=n-1;y>=0;y--){//x=0 y--遍历int x2=x;int y2=y;if(x2!=0&&y2!=0){list.add(arr[x2][y2]);}if(x2!=0){y2--;}while (x2<n&&(y2>=0&&y2<n)){list.add(arr[x2][y2]);x2++;y2++;}}int y=0;for(int i=1;i<n;i++){//y=0 x++遍历int x3=i;int y3=y;list.add(arr[x3][y3]);x3++;y3++;while (x3<n&&(y3>=0&&y3<n)){list.add(arr[x3][y3]);x3++;y3++;}}for(int i=0;i<list.size();i++){result[i]=list.get(i);}return result;}
}
《美团点评》编程题---有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印相关推荐
- C语言经典100题——求一个二维数组的鞍点
<1>题目描述 找一个二维数组中的鞍点,即该位置上的元素在该行上最大.在该列上最小.也可能没有鞍点 1 2 3 4 5 6 7 8 9 //3为该二维数组中鞍点 <2>思路分析 ...
- 编程题: 将一个矩阵(二维数组)顺时针旋转90度
在一个m*n的矩阵任取一个元素(i, j),发现旋转后对应的元素下标变成:(j, m-i). 进一步研究一下矩阵的各种翻转可知: 沿左上到右下的对角线翻转:(i, j)与(j, i)对换; 沿右上到左 ...
- 2018美团点评编程题第一题
晚上参加美团的笔试,今天从坐了一天的车,到了学校匆忙吃了饭,然后就开始了.确实是,脑子有点不灵光. 编程的第一题: 给定一个序列,输出这个序列子串的和为K的倍数的子串的长度,如果有重复,输出最大长度. ...
- Java黑皮书课后题第8章:*8.27(列排序)用下面的方法实现一个二维数组中的列排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵
*8.27(列排序)用下面的方法实现一个二维数组中的列排序.返回新数组,且原数组保持不变.编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵 题目 题目描述与运行示例 破 ...
- Java黑皮书课后题第8章:*8.26(行排序)用下面的方法实现一个二维数组中的行排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵
*8.26(行排序)用下面的方法实现一个二维数组中的行排序.返回新数组,且原数组保持不变.编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵 题目 题目描述与运行示例 破 ...
- Java黑皮书课后题第8章:**8.19(模式识别:四个连续相等的数)编写下面的方法,测试一个二维数组是否有四个连续相等的数字(水平、垂直、对角线方向都可以)。编写一个测试程序,提示用户输入一个数组
**8.19(模式识别:四个连续相等的数)编写下面的方法,测试一个二维数组是否有四个连续相等的数字(水平.垂直.对角线方向都可以).编写一个测试程序,提示用户输入一个数组 题目 题目描述与运行实例 破 ...
- 4.编程打印一个二维数组中所有元素的和,并打印最大值,最小值(以及它们所在的行号和列号)
/*晕呀,竟然做了一天,还不知道怎样做出来的.....*/ package HomeWork; import java.util.Arrays; /*4.编程打印一个二维数组中所有元素的和,并打印最大 ...
- 《c primer pius》第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的
<c primer pius>第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处 ...
- 课堂练习:返回一个二维数组中最大子数组的和
1.题目: 返回一个二维数组中最大子数组的和. 2.要求: 输入一个二维整形数组,数组里有正数也有负数. 二维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子 ...
最新文章
- prim算法构建最小生成树
- TP v5中环境变量在项目中的应用
- iOS获取UIView上某点的颜色值
- 5、Python函数
- mysql监测攻击_如何检测SQL注入技术以及跨站脚本攻击
- Golang中支持可变参数
- CCIE学习(34)—— EIGRP配置
- TCP/IP协议的深入分析
- 一次频繁Full GC的排查过程,根源居然是它...
- javascript递归函数问题
- TypeError: ‘NoneType‘ object is not callable--python报错解决办法
- 安卓mysql类库_Android 链接mysql数据库
- HDU 4763 Theme Section ( KMP )
- PowerDesigner将建好的数据表格导出到excel
- 【TDA4系列】Linux SDK安装与交叉编译测试,以及刷写SD卡
- HttpRequest类
- win10安装虚拟机vm遇到的坑
- 非线性光纤光学_多模光纤中的非线性光学
- 计算机专业书读后感300字,读一本书读后感300字(精选9篇)
- 如何策划管理PPC活动(百度推广/直通车/谷歌推广)
热门文章
- TCP三次握手,握的是啥?
- 2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出“方法 method() 被
- 30行代码AC_HDU-5933 ArcSoft‘s Office Rearrangement(模拟+题解报告)
- 中国农业大学计算机专业在陕西录取分数线,陕西考生,400多分被985大学录取,分不高的考生“捡漏“注意这几点...
- 模拟器不全屏_刺激战场:腾讯模拟器怎么设置才不卡
- python入门经典书籍知乎_知乎问题回答 - 《Python100天从新手到大师》 - 开源书籍(oscbook.com)...
- linux开机磁盘检查启动慢,Ubuntu 7.10开机启动慢的完美解决
- mysql数据库基本操作总结与归纳
- 初识OSPF(三)——路由重分发及虚链路
- vi/vim使用教程