关于golang:Leetcode专题数组01TwoSum两数之和

40次阅读

共计 362 个字符,预计需要花费 1 分钟才能阅读完成。

力扣链接 :https://leetcode-cn.com/probl…
解题思路

  1. 双循环暴力解法:比拟容易想到的就是双循环暴力解法,该算法工夫复杂度为 o(n 平方)
  2. 哈希表:应用哈希表,以数组值为 key, 索引下标为 value,记录在哈希表中,若 target 减去 value 失去的 key 在哈希表中存在,即找到这两个数字,拜访哈希表返回下标即可
func twoSum(nums []int, target int) []int {numToIndex := make(map[int]int, len(nums)/2)
    for i, v := range nums {if _, ok := numToIndex[target - v]; ok {return []int{numToIndex[target - v], i}
        }
        numToIndex[v] = i
    }
    return []int{}
}

正文完
 0