以下是一个解决该问题的示例代码:
def find_pattern(arr1, arr2, arr3):
pattern = []
n = min(len(arr1), len(arr2), len(arr3))
for i in range(n):
if arr1[i] == arr2[i] == arr3[i]:
pattern.append(arr1[i])
else:
pattern.append(None)
return pattern
def format_output(pattern):
output = ""
for i in range(len(pattern)):
if pattern[i] is not None:
output += str(pattern[i])
else:
output += "-"
if i < len(pattern) - 1:
output += ","
return output
# 示例输入
arr1 = [1, 2, 3, 4, 5]
arr2 = [1, 2, 6, 4, 5]
arr3 = [1, 2, 3, 4, 7]
# 查找模式
pattern = find_pattern(arr1, arr2, arr3)
# 格式化输出
output = format_output(pattern)
print(output)
输出结果:
1,2,-,4,-
在这个示例中,我们定义了两个函数,find_pattern
和format_output
。 find_pattern
函数用于比较三个数组并返回模式列表,其中相同位置上的元素相等的情况下为模式元素,否则为None
。format_output
函数将模式列表格式化为字符串输出,其中模式元素保留其原始值,而None
值用"-"代替。最后,我们提供了示例输入和输出的代码。