两数之和-(哈希)

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

}
相关推荐
做人不要太理性1 个月前
C++:哈希表
数据结构·c++·哈希算法·散列表·哈希·关联式容器
NuyoahC3 个月前
算法笔记(七)——哈希表
c++·笔记·算法·哈希
mikey棒棒棒3 个月前
算法练习题25——合并多项式
java·算法·hashmap·哈希·多项式
EthanXone1963 个月前
【学习笔记】SSL密码套件的选择
密码学·ssl·哈希·密钥交换·密码套件
叫我龙翔4 个月前
【项目日记】高并发内存池---实现线程缓存
c++·缓存·哈希
Zfox_4 个月前
位图与布隆过滤器 —— 海量数据处理
数据结构·c++·算法·容器·哈希
Tisfy4 个月前
LeetCode 3137.K 周期字符串需要的最少操作次数:哈希表计数
leetcode·字符串·散列表·题解·哈希表·哈希
Roylele7324 个月前
leetCode - - - 哈希表
java·数据结构·算法·leetcode·散列表·哈希·hash table
Davieyang.D.Y4 个月前
互联网应用主流框架整合【Redis数据结构及常用命令】
数据结构·redis·链表·有序集合·哈希·无需集合
笛秋白5 个月前
1. 两数之和
数据结构·c++·算法·力扣·两数之和