java - 检查二维数组中某个索引周围的索引的最佳方法

标签 java arrays algorithm 2d

我正在研究我必须制作的这种细菌生命游戏。

基本上我有一个二维字符串数组,假设是 20 x 20。

检查某个索引周围所有 8 个点的最佳方法是什么。假设每个索引代表一种细菌。对于每个细菌(索引),我必须检查该索引周围的 8 个点中是否有任何其他细菌在其中,如果该索引中有细菌,则它只用星号“*”表示。

检查每个索引周围的所有 8 个点的最佳方法是什么,因为基于某个索引周围的索引中的内容,我必须进行某些更改等。

我想出的唯一想法是用一堆 if 语句来检查所有 8 个点,我想知道是否有更好的方法来做到这一点

例如: 第 1 行 - www,第 2 行 = wOw,第 3 行 - www,

如果我在 O 索引处,检查它周围所有索引点是否有特定字符串的最佳方法是什么。

对不起,我不太擅长解释我的问题,英语不好:o。

感谢您的帮助。

最佳答案

所以你有这样的东西

char[][] table = new char[20][20]

for(int i = 0; i < 20; i++) {
    for(int j = 0; j < 20; j++) {
        int surroundingBacteria = 0;
        for(int x = max(i-1,0); x < min(20,i+1); x++) {
            for(int y = max(i-1,0); y < min(20,i+1); y++) {
                if(table[x][y] == '*') surroundingBacteria++;
            }
        }
        switch(surroundingBacteria) {
            // put your case logic here
        }
    }
}

关于java - 检查二维数组中某个索引周围的索引的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4622572/

相关文章:

java - 在 JSch 中使用 2048 位素数

java - 如何使用自定义比较器对整数数组进行排序?

java - HtmlUnit 不在页面内执行 Javascript

JavaScript 数组竞争条件/线程问题?

arrays - 如何根据 Aurelia/Typescript 中的嵌套属性对对象数组进行排序

c++ - 如何获取属于某个范围的 vector 中的最大元素?

algorithm - 置换矩阵的某些 block

java - 创建 servlet 上下文资源 [WEB-INF/applicationContext.xml] 中定义的名称为 "datasource"的 bean 时出错

java - 如何按字母顺序对 "ArrayList<HashMap<String, String>> arrList "进行排序?

python - 如何在比较两个长二维列表时减少执行时间