Files
Hot-100-Algorithm/哈希/两数之和/main.go
2025-08-19 03:50:15 +08:00

31 lines
588 B
Go

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
}