1.两数之和

方法1:暴力求解 两重循环

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

方法2:借助哈希表

func twoSum(nums []int, target int) []int {
    dic:=make(map[int]int,0)
    for k,v:=range nums{
        find:=target-v
        if _,ok:=dic[find];ok{
            return []int{k,dic[find]}
        }
        dic[v]=k  //重点要记住索引值
    }
    return []int{0,0}
}
posted @ 2022-04-27 14:00  wustjq  阅读(21)  评论(0)    收藏  举报