123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package main
- import (
- "fmt"
- )
- func main() {
- nums := []int{3, 3}
- fmt.Print(twoSum(nums, 6))
- fmt.Print(twoSumMap(nums, 6))
- }
- func twoSum(nums []int, target int) []int {
- answer := make([]int, 2)
- var i, j int
- for i = 0; i < len(nums); i++ {
- for j = i + 1; j < len(nums); j++ {
- if nums[i]+nums[j] == target {
- answer[0] = i
- answer[1] = j
- return answer
- }
- }
- }
- // answer[0] = 0
- // answer[1] = 0
- return answer
- }
- func twoSumMap(nums []int, target int) []int {
- datamap := make(map[int]int)
- for i := 0; i < len(nums); i++ {
- datamap[nums[i]] = i
- }
- for index1 := 0; index1 < len(nums); index1++ {
- index2, isOk := datamap[target-nums[index1]]
- if isOk && index2 != index1 {
- return []int{index1, index2}
- }
- }
- return nil
- }
|