欢迎光临
我们一直在努力

1.两数之和

package main

import "fmt"

// 暴力遍历求解
func twoSum1(nums []int, target int) []int {
	res := []int{0, 0}
	for i := 0; i < len(nums); i++ {
		for j := i + 1; j < len(nums); j++ {
			if nums[i]+nums[j] == target {
				res[0] = i
				res[1] = j
				return res
			}
		}
	}
	return res
}

// 哈希表求解
func twoSum2(nums []int, target int) []int {
	hashMap := map[int]int{}
	for i, x := range nums {
		if p, ok := hashMap[target-x]; ok {
			return []int{p, i}
		}
		hashMap[target-x] = i
	}
	return []int{0, 0}
}

func main() {
	fmt.Println(twoSum1([]int{3, 2, 4}, 6))
	fmt.Println(twoSum2([]int{3, 2, 4}, 6))
}
未经允许不得转载:Caldow » 1.两数之和
分享到: 生成海报

相关推荐

  • 暂无文章

切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活