Java中双括号[][]的作用是什么?附LeetCode示例代码
在Java中,
[][](双中括号)的作用是什么? 在Java里,[][]是用来处理二维数组的核心语法,主要对应两种使用场景:
1. 声明二维数组类型
比如代码里的int[][] grid,这里的[][]表示grid是一个二维整数数组,本质是「数组的数组」——外层数组的每个元素本身都是一个一维int数组。对应这道LeetCode题的场景,grid就代表题目中的矩阵:外层数组的每个元素对应矩阵的一行,整个grid就是所有行组成的集合。
2. 访问二维数组的具体元素
代码里的grid[i][j],两个[]分别用来定位二维数组中的元素:
- 第一个下标
i是外层数组的索引,对应矩阵的行号(比如代码里i = m - 1就是从矩阵最后一行开始遍历) - 第二个下标
j是内层数组的索引,对应矩阵的列号(比如j = 0就是从每行的第一列开始检查)
结合给出的代码举例:
grid.length:获取外层数组的长度,也就是矩阵的总行数mgrid[0].length:获取第一个内层数组的长度,也就是矩阵的总列数ngrid[i][j] < 0:判断矩阵第i行第j列的元素是否为负数
这道题的逻辑能成立,是因为题目规定矩阵的行和列都是非递增排序的——当找到某行第j列是负数时,这一行从j列到末尾的所有元素必然都是负数,所以直接用n - j计算该行的负数个数并累加即可。
内容的提问来源于stack exchange,提问作者Abhishek Thakur
相关产品推荐
相关产品推荐

