力扣 两数之和 Go实现
自己写的就比较暴力,直接两层循环,第一层从0开始,第二层从当前的下一位开始。看了别人的解析好多都是用哈希表实现的,按着别人的解析也写了一个。
1 func twoSum(nums []int, target int) []int {
2 temp := false
3 z := 0
4 y := 0
5 for i, v := range nums {
6 x := target - v
7 fmt.Println("找的数", x)
8 j := i + 1
9 for {
10 if j >= len(nums) {
11 break
12 }
13 if nums[j] == x {
14 temp = true
15 y = j
16 break
17 }
18 j++
19 }
20 if temp == true {
21 z = i
22 break
23 }
24 }
25 if temp == true {
26 return []int{z, y}
27 } else {
28 return []int{0, 0}
29 }
30 }


