1. 两数之和

1. 两数之和 #

题目地址 #

解题思路 #

暴力法 #

嵌套遍历数组,外层遍历的值和内层遍历的值相加,如果相加等于目标值,则返回结果,否则继续遍历。内层遍历开始的位置是外层遍历的位置加 1,结束的位置是数组长度。

map #

TODO

具体实现 #

```go package main import "fmt" func twoSum(nums []int, target int) []int { if len(nums) == 0 { return []int{} } m := make(map[int]int, 0) // val => index for index, val := range nums { ass := target - val if idx, ok := m[ass]; ok { return []int{idx, index} } else { m[val] = index } } return []int{} } func main() { fmt.Println(twoSum([]int{3, 2, 4}, 6)) } ```
```go package main import "fmt" func twoSum(nums []int, target int) []int { for index, value := range nums { for i := index + 1; i < len(nums); i++ { if (value + nums[i]) == target { return []int{index, i} } } } return nil } func main() { fmt.Println(twoSum([]int{3, 2, 4}, 6)) } ```