两数之和-(哈希)

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

}
相关推荐
xiaolin033310 天前
146. LRU 缓存
算法·哈希·lru·双向链表
morris13114 天前
【redis】数据类型之hash
数据库·redis·缓存·hash·哈希
qystca24 天前
【16届蓝桥杯寒假刷题营】第2期DAY4
数据结构·c++·算法·蓝桥杯·哈希
做人不要太理性3 个月前
C++:哈希表
数据结构·c++·哈希算法·散列表·哈希·关联式容器
NuyoahC5 个月前
算法笔记(七)——哈希表
c++·笔记·算法·哈希
mikey棒棒棒5 个月前
算法练习题25——合并多项式
java·算法·hashmap·哈希·多项式
EthanXone1965 个月前
【学习笔记】SSL密码套件的选择
密码学·ssl·哈希·密钥交换·密码套件
叫我龙翔6 个月前
【项目日记】高并发内存池---实现线程缓存
c++·缓存·哈希
Zfox_6 个月前
位图与布隆过滤器 —— 海量数据处理
数据结构·c++·算法·容器·哈希
Tisfy6 个月前
LeetCode 3137.K 周期字符串需要的最少操作次数:哈希表计数
leetcode·字符串·散列表·题解·哈希表·哈希