使用DSU(并查集)解决网格岛屿问题时,处理重叠索引导致JUnit测试失败的问题咨询
使用DSU(并查集)解决网格岛屿问题时,处理重叠索引导致JUnit测试失败的问题咨询
各位好,我最近在用Disjoint Set Union (DSU)(也就是大家常说的并查集)解决一个网格岛屿相关的图问题,结果跑JUnit测试的时候一直失败,排查下来感觉是坐标索引处理出了大问题——不同的网格位置被错误映射到了DSU的同一个索引上,导致岛屿的合并和判断逻辑完全混乱,想请教下大家有没有遇到过类似的情况,或者能给我点排查思路。
先跟大家明确下我的输入坐标规则:程序的入口函数接收一个字符串输入,每个位置的坐标是按(行号, 列号)来定义的,而且是从顶部第一行、左侧第一列开始计数的。举个具体的例子:第一行的第一个字符坐标是(1,1),第三行的第五个字符坐标就是(3,5)。
我的程序核心目标是从这个输入里找出满足特定特性的岛屿(可能不止一个),不过现在还没到验证这些特性的阶段,因为索引重叠的问题已经把JUnit测试用例卡得一个都过不了了,先解决这个索引问题是当务之急。
备注:内容来源于stack exchange,提问作者PacificNW_Lover
相关产品推荐
相关产品推荐

