题目:有一个二维数组(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),写程序实现从右上角到左下角沿主对角线方向打印相关推荐

  1. C语言经典100题——求一个二维数组的鞍点

    <1>题目描述 找一个二维数组中的鞍点,即该位置上的元素在该行上最大.在该列上最小.也可能没有鞍点 1 2 3 4 5 6 7 8 9 //3为该二维数组中鞍点 <2>思路分析 ...

  2. 编程题: 将一个矩阵(二维数组)顺时针旋转90度

    在一个m*n的矩阵任取一个元素(i, j),发现旋转后对应的元素下标变成:(j, m-i). 进一步研究一下矩阵的各种翻转可知: 沿左上到右下的对角线翻转:(i, j)与(j, i)对换; 沿右上到左 ...

  3. 2018美团点评编程题第一题

    晚上参加美团的笔试,今天从坐了一天的车,到了学校匆忙吃了饭,然后就开始了.确实是,脑子有点不灵光. 编程的第一题: 给定一个序列,输出这个序列子串的和为K的倍数的子串的长度,如果有重复,输出最大长度. ...

  4. Java黑皮书课后题第8章:*8.27(列排序)用下面的方法实现一个二维数组中的列排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵

    *8.27(列排序)用下面的方法实现一个二维数组中的列排序.返回新数组,且原数组保持不变.编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵 题目 题目描述与运行示例 破 ...

  5. Java黑皮书课后题第8章:*8.26(行排序)用下面的方法实现一个二维数组中的行排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵

    *8.26(行排序)用下面的方法实现一个二维数组中的行排序.返回新数组,且原数组保持不变.编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵 题目 题目描述与运行示例 破 ...

  6. Java黑皮书课后题第8章:**8.19(模式识别:四个连续相等的数)编写下面的方法,测试一个二维数组是否有四个连续相等的数字(水平、垂直、对角线方向都可以)。编写一个测试程序,提示用户输入一个数组

    **8.19(模式识别:四个连续相等的数)编写下面的方法,测试一个二维数组是否有四个连续相等的数字(水平.垂直.对角线方向都可以).编写一个测试程序,提示用户输入一个数组 题目 题目描述与运行实例 破 ...

  7. 4.编程打印一个二维数组中所有元素的和,并打印最大值,最小值(以及它们所在的行号和列号)

    /*晕呀,竟然做了一天,还不知道怎样做出来的.....*/ package HomeWork; import java.util.Arrays; /*4.编程打印一个二维数组中所有元素的和,并打印最大 ...

  8. 《c primer pius》第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处理一维数组的

    <c primer pius>第十章第6题,编写一个程序,初始化一个二维double数组,并利用练习2中的任一函数来把这个数组复制到另一个二维数组(因为二维数组是数组的数组,所以可以使用处 ...

  9. 课堂练习:返回一个二维数组中最大子数组的和

    1.题目: 返回一个二维数组中最大子数组的和. 2.要求: 输入一个二维整形数组,数组里有正数也有负数. 二维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子 ...

最新文章

  1. prim算法构建最小生成树
  2. TP v5中环境变量在项目中的应用
  3. iOS获取UIView上某点的颜色值
  4. 5、Python函数
  5. mysql监测攻击_如何检测SQL注入技术以及跨站脚本攻击
  6. Golang中支持可变参数
  7. CCIE学习(34)—— EIGRP配置
  8. TCP/IP协议的深入分析
  9. 一次频繁Full GC的排查过程,根源居然是它...
  10. javascript递归函数问题
  11. TypeError: ‘NoneType‘ object is not callable--python报错解决办法
  12. 安卓mysql类库_Android 链接mysql数据库
  13. HDU 4763 Theme Section ( KMP )
  14. PowerDesigner将建好的数据表格导出到excel
  15. 【TDA4系列】Linux SDK安装与交叉编译测试,以及刷写SD卡
  16. HttpRequest类
  17. win10安装虚拟机vm遇到的坑
  18. 非线性光纤光学_多模光纤中的非线性光学
  19. 计算机专业书读后感300字,读一本书读后感300字(精选9篇)
  20. 如何策划管理PPC活动(百度推广/直通车/谷歌推广)

热门文章

  1. TCP三次握手,握的是啥?
  2. 2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出“方法 method() 被
  3. 30行代码AC_HDU-5933 ArcSoft‘s Office Rearrangement(模拟+题解报告)
  4. 中国农业大学计算机专业在陕西录取分数线,陕西考生,400多分被985大学录取,分不高的考生“捡漏“注意这几点...
  5. 模拟器不全屏_刺激战场:腾讯模拟器怎么设置才不卡
  6. python入门经典书籍知乎_知乎问题回答 - 《Python100天从新手到大师》 - 开源书籍(oscbook.com)...
  7. linux开机磁盘检查启动慢,Ubuntu 7.10开机启动慢的完美解决
  8. mysql数据库基本操作总结与归纳
  9. 初识OSPF(三)——路由重分发及虚链路
  10. vi/vim使用教程