java数组对角线的和_java – 2d数组对角线填充
那么,如果你要枚举这些填充模式的索引,你会得到
0,0
1,0
0,1
2,0
1,1
0,2
2,1
1,2
2,2
所以,你需要遍历两个指标的总和。也就是说,总添加量。如您所见,0,0总计0,1,0和0,1总计1,依此类推。给我们这样的东西:
0 1 2
1 2 3
2 3 4
要以这种对角线模式进行迭代,我们可以执行以下操作:
// set up your matrix, any size and shape (MxN) is fine, but jagged arrays will break
int[][] matrix = {{0,0,0},{0,0,0},{0,0,0}};
// number is the value we will put in each position of the matrix
int number = 1;
// iterate while number is less than or equal to the total number of positions
// in the matrix. So, for a 3x3 matrix, 9. (this is why the code won't work for
// jagged arrays)
for (int i = 0; number <= matrix.length * matrix[0].length; i++) {
// start each diagonal at the top row and from the right
int row = 0;
int col = i;
do {
// make sure row and length are within the bounds of the matrix
if (row < matrix.length && col < matrix[row].length) {
matrix[row][col] = number;
number++;
}
// we decrement col while incrementing row in order to traverse down and left
row++;
col--;
} while (row >= 0);
}
请注意,虽然此实现将适用于所有矩阵大小(和形状),但它不会尽可能高效。其中n是matrix.length(假设为方形矩阵),该实现是大O符号中的最优O(n ^ 2)类算法;然而,它有效地执行2×n ^ 2次迭代,而最优解只能执行n ^ 2。
java数组对角线的和_java – 2d数组对角线填充相关推荐
- java 数组 去掉第一个_java中数组的理解以及如何去掉断点
数组也是对象 数组是放置相同类型的数据 数组里面放置的每一个变量都是有下标的. 数组的长度是确定的 数组的元素类型必须是相同的 数组类型可以是任何数据类型,包括基本类型和引用类型 数组变量属于引用类型 ...
- java数组大小不固定_Java的数组长度为什么不能改变?
Java中的数组是定长的!你这样int[] a ={}; 定义出来的数组a 长度为0,已经是定长了,之后再给它赋值是不可以的,因为它的长度定义出来之后是不可改变的了.所以在使用数组的时候,一定要注意长 ...
- java 两个数组去重复数据_Java实现数组去除重复数据的方法详解
本文实例讲述了Java实现数组去除重复数据的方法.分享给大家供大家参考,具体如下: 前一段时间被面试问到:如果一个数组中有重复元素,用什么方法可以去重?一时间会想到用一种方法,但是后来查阅资料后发现, ...
- java初始化该字符串值_java字符串数组初始化和赋值
//一维数组 String[] str = new String[5]; //创建一个长度为5的String(字符串)型的一维数组 String[] str = new String[]{" ...
- java 数组减除值_java – 删除数组中空值的最有效方法是什么.
我很好奇删除数组中空值的最有效方法是什么.这是我当前的null(0)删除方法. public static int[] removeNull(int[] array){ int j = 0; for( ...
- java数组冒泡排序法编程_java实现数组冒泡排序的方法
java实现数组冒泡排序的方法 发布时间:2020-06-24 09:21:42 来源:亿速云 阅读:82 作者:Leah 本篇文章展示了java实现数组冒泡排序的具体操作,代码简明扼要容易理解,绝对 ...
- java将数组逆序输出_java将一个数组逆序输出-java将一个数组逆序输出的方法-吾爱编程网...
今天吾爱编程为大家介绍一下java的经典实例将一个数组逆序输出,相信很多学习java的小伙伴都会接触到,有需要的小伙伴可以参考一下: 1.需求分析: 用第一个与最后一个交换, 第二个与倒数第二个交换, ...
- java 往数组里添加数据库_Java中将数组各元素作为数据项插入到数据库中
Java中将数组各元素作为数据项插入到数据库中 private PreparedStatement pstmt; String sql="INSERT INTO TABLE(id,名称,用户 ...
- java字符数组转化为字符串_java字符数组转字符串,java数组转字符串
字符串转数组 使用Java split() 方法 split() 方法根据匹配给定的正则表达式来拆分字符串. 注意: . . | 和 * 等转义字符,必须得加 \\.多个分隔符,可以用 | 作为连字符 ...
最新文章
- VISTA IIS Worker Process 已停止工作 解决办法
- 【论文解读】目标检测一卷到底之后,终于有人为它挖了个新坑|CVPR2021 Oral
- 大剑无锋之Spark中的Driver是什么?【面试推荐】
- c语言程序转换成单片机语言,单片机编程常用到的类型转换 C语言程序实现
- SaeStorage使用示例
- 成人高考 计算机英语作文,2017年成人高考英语作文范文
- 从工具到平台|默安科技研发安全一体化管理平台正式发布
- 请简述gouraud光照模型_OpenGL ES for Android(冯氏光照)
- MongoDB副本集权限重置
- Django 强大的ORM之增删改查
- 121. VLD 的使用
- VMWARE 之 vSphere vCenter 安装基本配置
- 计算机科学cs50_世界顶尖CS大学提供500门免费计算机科学课程
- 如何在虚拟机里用win95\98上网
- 基于stm32的GPS解析数据
- 基于PT100铂电阻的高精度测温方法
- 漫画:骚操作系列(必须掌握的疯子找座问题)
- iOS 13获取keyWindow
- 3.8编写程序 ,要求用户从键盘输入一个年份,程序输出改年出生的人的生肖。中国生肖基于12年一个周期,Java
- 2020年度英国商业大奖获奖名单公布
热门文章
- 没有bug队——加贝——Python 49,50
- padans 判断列是否为空_pandas 如何判断指定列是否(全部)为NaN(空值)
- php取指定文件夹图片大小,php获取某文件夹的大小
- [word技巧]把标题、图表题注编号由“一.1”改为“1.1“
- backward理解
- Ajax动态拼接li并绑定事件
- 构建测试的体系化思维(高级篇)
- 利用可视化软件navicat查看表的sql语句
- RT-Thread中如何预编译一个.c文件
- 【转】python的复制,深拷贝和浅拷贝的区别