下面是一个示例代码,可以不重复地检查2D数组元素的相邻元素:
def check_adjacent_elements(matrix):
rows = len(matrix)
if rows == 0:
return
cols = len(matrix[0])
# 创建一个集合来存储已经检查过的元素
checked = set()
for i in range(rows):
for j in range(cols):
# 如果当前元素已经被检查过,则跳过
if (i, j) in checked:
continue
# 将当前元素标记为已经检查过
checked.add((i, j))
# 检查当前元素的相邻元素
# 上方元素
if i > 0:
adjacent_element = matrix[i - 1][j]
# 进行相邻元素的处理...
# 下方元素
if i < rows - 1:
adjacent_element = matrix[i + 1][j]
# 进行相邻元素的处理...
# 左侧元素
if j > 0:
adjacent_element = matrix[i][j - 1]
# 进行相邻元素的处理...
# 右侧元素
if j < cols - 1:
adjacent_element = matrix[i][j + 1]
# 进行相邻元素的处理...
在这个示例代码中,我们使用一个集合(checked)来存储已经检查过的元素的坐标。在每次迭代时,我们检查当前元素的相邻元素,并进行相应的处理。如果一个相邻元素已经在集合中,则说明它已经被检查过,我们就跳过它,避免重复检查。
请注意,上述代码只给出了如何不重复地检查相邻元素的结构,对于实际的处理操作,你需要根据具体的需求进行相应的代码编写。