Files
Hot-100-Algorithm/Hash/liangshuzhihe/main.go

31 lines
588 B
Go
Raw Normal View History

2025-08-16 23:37:20 +08:00
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
}