zoukankan      html  css  js  c++  java
  • golang 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

    package main

    import (
        "fmt"
    )

    func main() {
        nums := []int{1, 5, 7, 8, 9}
        target := 10
        solutions(nums, target)
    }

    func solutions(nums []int, target int) (a, b int) {
        var dict map[int]int
        dict = make(map[int]int)
        defer fmt.Println(a, b)
       #遍历一遍列表对应的时间复杂度为O(n)
        for k, v := range nums {
            dict[v] = k
            num := target - v
            #如果另一个数值不在字典中,则将第一个数值及其的索引报错在字典中 #因为在字典中查找的时间复杂度为O(1),因此总时间复杂度为O(n)
            _, ok := dict[v]
            if !ok {
                dict[v] = k
            } else {
                fmt.Println(num, v)
                return dict[num], k
            }
        }

        return 0, 0
    }
  • 相关阅读:
    js内置date类
    获取下拉列表的value
    表单的隐藏与显示
    JavaScript
    CSS的相关属性
    CSS
    基于akka-http搭建restfull框架
    Netsharp配置文件
    nginx配置备忘
    docker安装radis
  • 原文地址:https://www.cnblogs.com/smallleiit/p/12624619.html
Copyright © 2011-2022 走看看