📜  门|门 IT 2006 |问题 29(1)

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

门|门 IT 2006 |问题 29

本题是一道面试题,需要进行编程实现。题目描述:给定一个数组,要求找出数组中是否有一个数是另一个数的两倍。

思路

遍历数组,对于每个数字,判断是否存在另一个数字是它的两倍,如果存在则返回 True,否则返回 False。

代码实现
def find_double(arr):
    """
    判断数组中是否存在一个数是另一个数的两倍
    :param arr: 数组
    :return: 如果存在则返回 True,否则返回 False
    """
    for i in range(len(arr)):
        for j in range(len(arr)):
            if i != j and arr[i] == arr[j] * 2:
                return True
    return False
测试样例
assert find_double([1, 2, 3, 4, 5, 6]) == False
assert find_double([1, 2, 3, 4, 5, 10]) == True

以上代码片段已经使用 markdown 标明。