美文网首页GO语言入门宝典
《字节跳动算法800题(1)-两数之和》

《字节跳动算法800题(1)-两数之和》

作者: Goplayer王布斯 | 来源:发表于2020-04-28 15:55 被阅读0次

    给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。

    你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

    示例:

    给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]

    func twoSum(nums []int, target int) []int {

    hash:=make(map[int]int)

    for i:=0;i<len(nums);i++{

    hash[nums[i]]= i

    }

    for i:=0;i<len(nums);i++{

        temp:= target-nums[i]

    if _, ok := hash[temp]; ok {

    //存在

      if hash[temp]==i{

          continue

      }else{

          return []int{i,hash[temp]}

      }

    }

    }

    return nil

    }

    相关文章

      网友评论

        本文标题:《字节跳动算法800题(1)-两数之和》

        本文链接:https://www.haomeiwen.com/subject/wgtbwhtx.html