gpt4 book ai didi

java: 检查 array[i][j] 是否在边界内

转载 作者:行者123 更新时间:2023-11-30 08:12:24 27 4
gpt4 key购买 nike

我有一个正在循环的二维整数数组。我想检查我指向的数组元素是否在该数组的范围内。比方说,如果我有一个大小为 3x2 的数组,我希望能够这样做:

for(int i=some_variable;i<arrayWidth;i++) {
for (int j=other_variable;j<arrayHeight;j++) {
if (!array[i][j].ISOUTOFBOUNDS) {
// do something
}
}
}

有没有一种 Eloquent 方法可以实现这一点,还是我应该手动检查索引?

附言。 ij 也可能是负数,所以我也想检查一下。

最佳答案

您可以通过预先计算有效范围来避免执行此比较 n² 时间:

int maxValidI = Math.min(array.length, arrayWidth);
int maxValidJ = Math.min(array[0].length, arrayHeight);
int minValidI = Math.max(0, some_variable);
int minValidJ = Math.max(0, other_variable);

然后将 i 和 j 从 minValidIminValidJ 迭代到 maxValidImaxValidJ

希望对您有所帮助。感谢 Andy 通知我有关 OP 的编辑。

关于java: 检查 array[i][j] 是否在边界内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30513994/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com