給定乙個整數陣列nums
和乙個目標值target
,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。
你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。
示例:
給定 nums = [2, 7, 11, 15], target = 9
因為 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
最容易想到的就是暴力法,使用兩個遍歷,查詢兩數之和是否為target
。流程如下:
使用i
來遍歷陣列每個元素
在i
的每乙個迴圈中,使用j
從i + 1
開始遍歷
判斷i
和j
對應的值的和是否為target
func twosum(nums int, target int) int }}
}return int{}
}
該解法中會借助乙個雜湊表。在遍歷陣列時,會將當前元素新增到雜湊表中。並且會檢查雜湊表中是否已經存在當前元素所對應的目標元素。如果存在就返回。
func twosum2(nums int, target int) int
}m[nums[i]] = i
}return int{}
}
LeetCode刷題 01 兩數之和
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9...
Leetcode刷題01 求兩數之和
題目 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 ...
LeetCode刷題之求兩數之和
題目 給定乙個整數陣列和乙個目標值,找出陣列中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 解決思路 1.遍歷兩次列表,然後判斷遍歷得到的數...