美文网首页
数组-两数之和

数组-两数之和

作者: 韩小禹 | 来源:发表于2020-03-12 00:26 被阅读0次
/*
 * @Description:
 * @Author: huacong
 * @Date: 2020-03-11 23:21:39
 * @LastEditTime: 2020-03-12 00:25:31
 * @LastEditors: huacong
 */
package main

import "fmt"

//暴力破解
//时间复杂度O(n²)
func twoSum(arr []int, target int) []int {
    for key, val := range arr {
        for k, v := range arr {
            if val+v == target {
                return []int{key, k}
            }
        }
    }
    return []int{}
}

//一遍哈希
//时间复杂度O(n)
func twoSum2(arr []int, target int) []int {
    maps := make(map[int]int)
    for i, v := range arr {
        if k, ok := maps[target-v]; ok {
            return []int{k, i}
        }
        maps[v] = i
    }
    return []int{}
}

func main() {
    arr := []int{2, 20, 2, 15}
    res := twoSum(arr, 22)
    fmt.Println(res)

    res1 := twoSum2(arr, 22)
    fmt.Println(res1)

}

相关文章

  • 两数之和(golang)

    原题:两数之和 关联:两数之和 II - 输入有序数组(golang)两数之和 IV - 输入 BST(golang)

  • 两数之和 II - 输入有序数组(golang)

    原题:两数之和 II - 输入有序数组 关联:两数之和(golang)两数之和 IV - 输入 BST(golan...

  • 数组 / 两数之和

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

  • 数组——两数之和

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

  • 数组-两数之和

  • 数组--两数之和

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

  • leetcode top100

    1.求两数之和(数组无序) 2.求电话号码的字母组合 3.三数之和 4.两数之和(链表)

  • C语言第六次作业:动态申请内存

    动态申请内存 1. 两数之和 数组二重循环\哈希表 167. 两数之和 II - 输入有序数组数组二重循环\首尾指...

  • LeetCode 专题 :双指针

    LeetCode 第 167 题:两数之和 II - 输入有序数组 传送门:167. 两数之和 II - 输入有序...

  • LeetCode 第18题:四数之和

    1、前言 2、思路 采用三数之和的思路,原本三数之和可以分解为:数组中的一个数 + 此数右边的数求两数之和,那么四...

网友评论

      本文标题:数组-两数之和

      本文链接:https://www.haomeiwen.com/subject/iblljhtx.html