📌  相关文章
📜  检查数组的任何排列是否包含不被3整除的每个相邻对的和(1)

📅  最后修改于: 2023-12-03 15:10:54.070000             🧑  作者: Mango

检查数组的任何排列是否包含不被3整除的每个相邻对的和

在写代码时,我们经常需要检查数组中是否存在某些特定的要求,这时我们可以使用一些算法来简化我们的工作。本文将介绍如何检查一个数组的任何排列是否包含不被3整除的每个相邻对的和。

算法思路

首先,我们需要对数组进行排序,然后遍历数组中的每个元素。对于每个元素,我们计算其与下一个元素的和,如果和能被3整除,我们就说明该数组不符合要求。否则,我们就继续遍历数组直到结束。如果我们能遍历完整个数组,那么说明该数组符合要求。

代码实现

下面是使用 Python 实现的代码:

def check_array(arr):
    """
    检查数组中是否存在不被3整除的每个相邻对的和
    :param arr: 数组
    :return: True or False
    """
    arr.sort()
    for i in range(len(arr)-1):
        if (arr[i]+arr[i+1])%3 == 0:
            return False
    return True
测试示例

下面是使用 Python 实现的测试示例:

arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
arr2 = [3, 5, 1, 2, 6, 9, 4, 7, 8]

print(check_array(arr1))  # 输出 True
print(check_array(arr2))  # 输出 False
总结

本文简单介绍了如何检查一个数组的任何排列是否包含不被3整除的每个相邻对的和。我们可以通过以上算法来简化我们的代码,并且在需要时可以轻松地使用。