java - 从二维数组中查找不同大小的相邻元素
问题描述
所以我正在尝试创建一个程序,该程序在二维数组中找到所有具有给定邻域大小的相邻元素。我已经想出了如何从中间元素的角度找到 8 个相邻元素,但是说我想找到 24 个相邻元素并且我正在寻找解决方案。
我已经尝试将数字 1 设置为可以更改的变量,但是如果我将其设置为 2,它仍然找不到 24 个元素的所有邻居。
我对 8 个元素的解决方案,如果有办法扩展它:
array[i-1][j-1]
array[i-1][j]
array[i-1][j+1]
array[i][j-1]
array[i][j+1]
array[i+1][j-1]
array[i+1][j]
array[i+1][j+1]
解决方案
这就是我尝试将 -range 设置为 +range 和边框的方法。但由于某种原因,它似乎仍然没有返回正确的结果。
int neighbourhoodSize = neighbourhoodSize/2; //Say size is t.ex. 11, has to be odd for rectangle
for (int k = 0; k < neighbourhoodSize; k++) {
for (int i = k; i < arr.length - k; i++) {
for (int j = k; j < arr[i].length - k; j++) {
arr[i - k][j - k]
arr[i - k][j]
arr[i - k][j + k]
arr[i][j - k]
arr[i][j + k]
arr[i + k][j - k]
arr[i + k][j]
arr[i + k][j + k]
}
}
}
推荐阅读
- shell - How do I get grep working in a function while assigned to a new variable?
- git - I Can not merge my work into develop branch using SourceTree?
- npm - 是否安装 NPM
还运行该 pkg 的 npm start 吗? - ruby-on-rails - Create index with new searchkick options in rails console
- split - How to download "Split" CSV files from H2O DAI?
- c# - program crashes when i add code to make a button turn off bluetooth
- lotus-notes - Can someone help me with Exception occurred calling method NotesDatabase.FTSearch(string)
- python - 无法使用 GeoPandas 正确旋转点
- livecode - Is there still no websocket support for Livecode
- javascript - AddEventListener 鼠标悬停隐藏段落