From dc5406a7d5b88e6f2e2183a0237c38686506ff33 Mon Sep 17 00:00:00 2001 From: mayiming <1627832236@qq.com> Date: Sat, 16 Aug 2025 23:37:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=A4=E6=95=B0=E4=B9=8B=E5=92=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Hash/liangshuzhihe/main.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Hash/liangshuzhihe/main.go diff --git a/Hash/liangshuzhihe/main.go b/Hash/liangshuzhihe/main.go new file mode 100644 index 0000000..86bfe45 --- /dev/null +++ b/Hash/liangshuzhihe/main.go @@ -0,0 +1,30 @@ +package main + +import "fmt" + +func main() { + fmt.Println(twoSum([]int{3, 3}, 6)) +} + +func twoSum(nums []int, target int) []int { + hash := make(map[int][]int) + for i := 0; i < len(nums); i++ { + hash[nums[i]] = append(hash[nums[i]], i) + } + fmt.Println(hash) + var result []int + for k, v := range hash { + if k == target/2 && len(v) > 1 { + result = append(result, v...) + return result + } else if k == target/2 && len(v) == 1 { + continue + } + if val, ok := hash[target-k]; ok { + result = append(result, v[0]) + result = append(result, val[0]) + return result + } + } + return result +}