空二维数组的长度

今天在做剑指offer第一题:二维数组的查找时,实现从左下来查找时竟然报出数组越界错误,但是仔细看代码和右上查找时几乎相同。
报错例子是一个二维空数组,我输出它的列长度和行长度才觉得这件事不简单。

对于一个空的二维数组,其行列的长度分别为多少呢?

例如:int arr = {{}};
行长度arr.length 和列长度 arr[0].length 分别为多少?

答案是 10

int[][] arr = {{}};
System.out.println(arr.length + " " + arr[0].length);
运行结果为:

1 0


仔细想想也能明白,如果行长度arr.length为0,那么二维数组就退化为一维数组 {} ,从性质上就发生了变化。
所以对于二维数组,arr[0] 总是不会越界的。
以此类推到多维空数组:即对于n维空数组,
arr.length=1
arr[0].length=1
arr[0][0].length=1

对于arr后面带n-1个[0]都是成立的,带n个[0]的arr长度为0.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值