【LeetCode】enumerate()函數簡單實現“兩數之和”

兩數之和

給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那兩個整數,並返回他們的數組下標。你可以假設每種輸入只會對應一個答案。但是,數組中同一個元素不能使用兩遍。
示例:
給定 nums = [2, 7, 11, 15], target = 9
因爲 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
題解:
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        result_list = []
        for index1, num1 in enumerate(nums):
            for index2, num2 in enumerate(nums[index1+1:]):
                if num1 + num2 == target:
                    result_list.append(index1)
                    result_list.append(index1+index2+1)
                    return result_list
分析:

由題意知,需要對數組nums進行遍歷,將獲取的值與目標值target進行比較,並且返回符合要求的數值在數組nums中的下標,因此可以採用python的內置函數enumerate(),枚舉函數一般用於遍歷一個序列、迭代器或其他支持迭代對象(如列表、元組或者字符串),將其組合爲一個索引序列,並返回包含數據和下標的枚舉對象。該題通過對數組nums進行枚舉遍歷,將獲取的數值與目標值進行比較,符合條件則將索引追加到指定數組中作爲結果返回。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章