gpt4 book ai didi

java - 递归网格计数器

转载 作者:行者123 更新时间:2023-12-01 10:36:02 27 4
gpt4 key购买 nike

在你们提出这个问题之前,我先声明一下,这不是一项家庭作业。我从计算机科学课上的一个 sibling 那里得到了这个实验,他把它给了我,因为我也在学习 Java。以下是实验室 Word 文件的链接 - https://drive.google.com/open?id=0B0knwQqYII5BekhuTDFxcER3Qk0 。我主要关心如何使用递归方法来导航网格。我计划通过将计数的 @ 符号更改为 $ 符号来标记它们,但我不确定我的递归方法应该返回什么坐标。

非常感谢任何帮助,谢谢!

最佳答案

尝试如下:

char[][] table = // ...

private static int countConnectedSigns(char[][] table, int r, int c) {
char[][] tableCopy = // ...
return countConnectedSignsAux(tableCopy[][], r, c, 0);
}

private static int countConnectedSignsAux(char[][] table, int r, int c, int currentCount) {
if(r < 0 || r >= table.length || c < 0 || c >= table[0].length ||
table[r][c] != '@') {
return currentCount;
}
table[r][c] = '-'; // mark visited
return countConnectedSignsAux(table, r + 1, c, currentCount + 1) +
countConnectedSignsAux(table, r - 1, c, currentCount + 1) +
countConnectedSignsAux(table, r, c + 1, currentCount + 1) +
countConnectedSignsAux(table, r, c - 1, currentCount + 1) +;
}

关于java - 递归网格计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34724838/

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