力扣链接:https://leetcode-cn.com/probl...
解题思路:
- 双循环暴力解法:比较容易想到的就是双循环暴力解法,该算法时间复杂度为o(n平方)
- 哈希表:使用哈希表,以数组值为key,索引下标为value,记录在哈希表中,若target减去value得到的key在哈希表中存在,即找到这两个数字,访问哈希表返回下标即可
func twoSum(nums []int, target int) []int {
numToIndex := make(map[int]int, len(nums)/2)
for i, v := range nums {
if _, ok := numToIndex[target - v]; ok {
return []int{numToIndex[target - v], i}
}
numToIndex[v] = i
}
return []int{}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。