假设我有一个5x5二维阵列。对于数组中的给定位置,我需要检查相邻位置是否包含某个特定值。如何处理位于数组边缘的元素?
例如,我的第一个想法是处理这样的事情;
if(array[i-1][j] != 'A' && array[i][j-1] != 'A' && array[i+1][j] != 'A' && array[i][j+1] != 'A')但给定i或j为0/4的任何元素,其中一条(或两条)语句将尝试检查超出数组维数界限的内容。有没有一种干净利落的方法,不用嵌套一堆if语句来检查元素是否在边缘?
发布于 2020-05-12 15:14:20
您可以尝试将算法分成两部分:
在每种情况下,你都知道自己处于什么状态,所以你可以最小化检查
https://stackoverflow.com/questions/61745814
复制相似问题