两数之和-(哈希)

牛客网: BM50

题目: 数组中两数之和为给定值,返回下标

思路: 遍历数组获取idx与value,value为key, idx为val存入map中,每次遍历时判断target-value是否已在map中有值,值即为先前存入的下标,取出与当前坐标组合为数组返回。

代码:

Go 复制代码
// go

package main


// import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param numbers int整型一维数组
 * @param target int整型
 * @return int整型一维数组
 */
func twoSum( numbers []int ,  target int ) []int {
    // write code here
    dict := make(map[int]int)
    for idx, v := range numbers {
        if i, ok := dict[target-v]; ok {
            return []int{i + 1, idx + 1}
        } else {
            dict[v] = idx
        }
    }
    return []int{-1, -1}

}
相关推荐
序属秋秋秋4 天前
《C++进阶之STL》【哈希表】
数据结构·c++·stl·哈希算法·散列表·哈希表·哈希
爱编程的化学家5 天前
代码随想录算法训练营第六天 - 哈希表2 || 454.四数相加II / 383.赎金信 / 15.三数之和 / 18.四数之和
数据结构·c++·算法·leetcode·双指针·哈希
Watermelo6173 个月前
【前端实战】如何让用户回到上次阅读的位置?
前端·javascript·性能优化·数据分析·哈希算法·哈希·用户体验
DARLING Zero two♡4 个月前
C++效率掌握之STL库:unordered_map && unordered_set底层剖析
c++·stl·哈希·unordered_map·unordered_set
想睡hhh4 个月前
c++进阶——哈希表的实现
开发语言·数据结构·c++·散列表·哈希
半桔5 个月前
哈希表(开散列)的实现
数据结构·c++·面试·散列表·哈希
GGBondlctrl5 个月前
【leetcode】记录与查找:哈希表的题型分析
算法·力扣·两数之和·字母异位词分组·存在重复字符2
-借我杀死庸碌的情怀-6 个月前
【leetcode刷题记录】(java)数组 链表 哈希表
java·leetcode·链表·哈希
XU磊2606 个月前
Java 集合框架:从数据结构到性能优化,全面解析集合类
java·哈希
想你时风起7 个月前
力扣题库第一题:两数之和
python·力扣·刷题·两数之和