轉自LeetCode
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution.
Example:
Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].<Solution>
這題不難,因為題目有說每個input只會有一個答案
所以對於每個數字 n,要找的配對就是 target - n
那這邊使用 unordered_map 來存 {value : index} 這個配對
是因為 unordered_map 是用 hash table 實做,所以它的存取速度很快,可以視作O(1)
解法概念如下
- 算出要找的配對數字
- 看看是否已經在 unordered_map 裡了。有就回傳答案,沒有就塞到 unordered_map
C++
Java
Kotlin
沒有留言:
張貼留言