博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode1. 两数之和
阅读量:2493 次
发布时间:2019-05-11

本文共 929 字,大约阅读时间需要 3 分钟。

LeetCode1. 两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

func twoSum(nums []int, target int) []int {
sumMap := make(map[int]int) for i := 0; i < len(nums); i++ {
if c, ok := sumMap[target-nums[i]]; ok {
return []int{
c, i} } sumMap[nums[i]] = i } return []int{
-1,-1}}

官解

//用map辅助查找 时间复杂度O(n)func func2(s []int, tag int) []int {    hash := make(map[int]int)    for i := 0; i < len(s); i++ {        hash[s[i]] = i    }    for i := 0; i < len(s); i++ {        temp := tag - s[i]        if _, ok := hash[temp]; ok {            if hash[temp] == i {                continue            }            return []int{i, hash[temp]}        }    }    return nil}

Me

这个在面试时就是错误解法!!!

go语言实现版本

func twoSum(nums []int, target int) []int {    for i:=0; i

转载地址:http://eaorb.baihongyu.com/

你可能感兴趣的文章
安卓动画基础讲解
查看>>
Fragment管理工具类
查看>>
test
查看>>
12.2号
查看>>
等比数列前N项和的公式推导
查看>>
windows系统查找文件-通配符的使用
查看>>
python爬虫:其他操作
查看>>
IDEA 运行spingboot时出现Process finished with exit code -1073741819 (0xC0000005)
查看>>
大数据学习之Linux环境搭建(导航)
查看>>
[企业化NET]Window Server 2008 R2[3]-SVN 服务端 和 客户端 基本使用
查看>>
模板方法模式
查看>>
word20161207
查看>>
【转】Java MySQL数据类型对照
查看>>
poj 3070
查看>>
javascript:正则表达式对象
查看>>
esper(4-3)-Non-Overlapping Context
查看>>
python web django base skill
查看>>
arcgis建立拓扑分析(检验矢量图)
查看>>
SQL Server 中创建数据库、更改主文件组示例
查看>>
Ubuntu下修改file descriptor
查看>>