1. 两数之和

package main

import "fmt"

func twoSum(nums []int, target int) []int {
	numMap := map[int]int{} // num->idx
	for i := 0; i < len(nums); i++ {
		if idx, ok := numMap[target-nums[i]]; ok {
			return []int{i, idx}
		}
		numMap[nums[i]] = i
	}
	return nil
}

func twoSum2(nums []int, target int) []int {
	for i := 0; i < len(nums); i++ {
		for j := i + 1; j < len(nums); j++ {
			if nums[i]+nums[j] == target {
				return []int{i, j}
			}
		}
	}
	return nil
}

func main() {

	fmt.Println(twoSum([]int{2, 7, 11, 15}, 9))
	fmt.Println(twoSum2([]int{2, 7, 11, 15}, 9))

}

posted @ 2024-06-07 15:18  gdut17_2  阅读(15)  评论(0)    收藏  举报