LeetCode:兩數之和

X-saka發表於2020-12-11

給定一個整數陣列 nums 和一個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。

你可以假設每種輸入只會對應一個答案。但是,陣列中同一個元素不能使用兩遍。

示例:

給定 nums = [2, 7, 11, 15], target = 9
因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

題解:雜湊表

func twoSum(nums []int, target int) []int {
	hashTable := map[int]int{}
	for k, v := range nums {
		if i, ok := hashTable[target-v]; ok {
			return []int{i, k}
		}
		hashTable[v] = k
	}
	return nil
}

相關文章