我有一个多维数组,我想获取围绕该数组中特定元素的元素。
例如,如果我有以下内容:
[[1,2,3,4,5,6]
[8,9,7,5,2,6]
[1,6,8,7,5,8]
[2,7,9,5,4,3]
[9,6,7,5,2,1]
[4,7,5,2,1,3]]
如何找到以上任何一个元素中的所有8个元素?以及如何处理边缘的元素?
我发现的一种方法是为此编写9行代码,这很明显,但是有更好的解决方案吗?
for (i = 0; i < array.length; i
) {
for (j = 0; j < array[i].length; j
) {
for (x = Math.max(0, i - 1); x <= Math.min(i + 1, array.length); x
) {
for (y = Math.max(0, j - 1); y <= Math.min(j + 1,
array[i].length); y
) {
if (x >= 0 && y >= 0 && x < array.length
&& y < array[i].length) {
if(x!=i || y!=j){
System.out.print(array[x][y] + ” “);
}
}
}
}
System.out.println(“\n”);
}
}
感谢所有回答的人,但是我借助我刚刚发现的这篇帖子找到了答案,而以上就是解决方案。再次感谢
:)
问题内容: 我有一个清单“ a” 我需要找到一个特定数字的所有元组。说1 我怎么做? 问题答案: 如果只希望第一个数字匹配,则可以这样操作: 如果您仅搜索其中包含1的元组:
我想知道是否有一个java函数可以检查索引0-5中的值?例如在不使用循环的情况下,有一个函数将子数组1[0-5]中的元素标识为{1,2,3,4,5}
查找数组是指从数组中查询指定位置的元素,或者查询某元素在指定数组中的位置。使用 Arrays 类的 binarySearch() 方法可以实现数组的查找,该方法可使用二分搜索法来搜索指定数组,以获得指定对象,该方法返回要搜索元素的索引值。 binarySearch() 方法有多种重载形式来满足不同类型数组的查找需要,常用的重载形式有两种。 (1) 第一种形式如下: 其中,a 表示要搜索的数组,ke
问题内容: 我有一个看起来像这样的表: 还有其他几列与此问题无关。将它们存储为JSON是有原因的。 我要尝试的是查找具有特定 艺术家姓名 (精确匹配)的曲目。 我正在使用此查询: 例如 但是,这会进行全表扫描,而且速度不是很快。我尝试使用function创建一个GIN索引,并使用,但是未使用该索引,查询实际上要慢得多。 问题答案: 在Postgres 9.4+ 使用新的二进制JSON数据类型 ,P
问题内容: 快速找到整数数组总和的最简单(最佳)方法是什么?我有一个称为倍数的数组,我想知道倍数的总和。 问题答案: 这是我能找到的最简单/最短的方法。 Swift 3和Swift 4: 斯威夫特2: 更多信息: 这使用了Array的reduce方法(在此处提供文档),该方法允许您“通过递归应用所提供的闭包将元素的集合减少到单个值”。我们给它0作为初始值,然后本质上给闭包赋值。当然,我们可以将其简