两数之和-(哈希)

牛客网: 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}

}
相关推荐
huohaiyu3 天前
Hashtable,HashMap,ConcurrentHashMap之间的区别
java·开发语言·多线程·哈希
openHiTLS密码开源社区5 天前
【密码学实战】openHiTLS mac命令行:消息认证码工具
哈希·hmac·消息认证码·cmac·商用密码算法·gmac
序属秋秋秋1 个月前
《C++进阶之STL》【哈希表】
数据结构·c++·stl·哈希算法·散列表·哈希表·哈希
爱编程的化学家1 个月前
代码随想录算法训练营第六天 - 哈希表2 || 454.四数相加II / 383.赎金信 / 15.三数之和 / 18.四数之和
数据结构·c++·算法·leetcode·双指针·哈希
Watermelo6174 个月前
【前端实战】如何让用户回到上次阅读的位置?
前端·javascript·性能优化·数据分析·哈希算法·哈希·用户体验
DARLING Zero two♡5 个月前
C++效率掌握之STL库:unordered_map && unordered_set底层剖析
c++·stl·哈希·unordered_map·unordered_set
想睡hhh5 个月前
c++进阶——哈希表的实现
开发语言·数据结构·c++·散列表·哈希
半桔6 个月前
哈希表(开散列)的实现
数据结构·c++·面试·散列表·哈希
GGBondlctrl6 个月前
【leetcode】记录与查找:哈希表的题型分析
算法·力扣·两数之和·字母异位词分组·存在重复字符2
-借我杀死庸碌的情怀-7 个月前
【leetcode刷题记录】(java)数组 链表 哈希表
java·leetcode·链表·哈希