Python是一種廣泛使用的編程語言,以其簡潔明了的代碼和強大的內置庫而聞名。Python的算法庫更是令人印象深刻。下面是一個簡單的Python算法練習:
def find_sum(num_list, target): """ 給定一個整數列表和一個目標數字,找到兩個數字的和等于目標數字并返回兩個數字的索引。 :param num_list: list, 一個整數列表 :param target: int, 目標數字 :return: tuple, 兩個數字的索引 """ num_dict = {} for i, num in enumerate(num_list): if target - num in num_dict: return num_dict[target - num], i num_dict[num] = i return None print(find_sum([2, 7, 11, 15], 9))
這個函數接受一個整數列表和一個目標數字,并返回兩個在列表中的數字的索引,它們的和等于目標數字。如果不存在這樣的兩個數字,則返回None。
要解決這個問題,我們可以定義一個字典,它對于每個數字維護一個索引。然后我們遍歷列表,對于每個數字,我們檢查是否存在目標數字減去該數字的數字。如果存在這樣的數字,我們返回這兩個數字的索引。
在這個例子中,我們調用find_sum([2, 7, 11, 15], 9)
并得到結果(0, 1)。這個結果表示列表中的0號元素2和1號元素7的和等于目標數字9。