力扣 两数之和 Go实现

力扣  两数之和  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 }
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 力扣 两数之和 Go实现