今天看leetcode上一個例題的時候有很大的感觸,原來Python可以這麼簡潔。
問題描述原問題鏈接:
給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那 兩個 整數,並返回他們的數組下標。
你可以假設每種輸入只會對應一個答案。但是,數組中同一個元素不能使用兩遍
首先想到的就是兩層循環暴力求解,但是在跑一些用例的時候超時退出💁
後面有個精華貼,快速簡潔的解決了該問題,5行代碼完事,給我很大觸動。以爲記!
def twoSum(nums: List[int], target: int) -> List[int]:
hashmap = {}
for i, num in enumerate(nums):
if(target-num) in hashmap:
return [hashmap[target-num], i]
hashmap[num] = i