zoukankan      html  css  js  c++  java
  • 算法(两数之和)

    func twoSum(nums []int, target int) []int {
        array1 := make([]int, 0)
        final := 0
        for i := 0; i < len(nums); i++ {
            for j := 0; j < len(nums); j ++ {
                if (nums[i] + nums[j] == target && i != j) {
                    array1 = append(array1, i)
                    array1 = append(array1, j)
                    final = 1;
                }
            }
            if (final == 1) {
                break;
            }
        }
        return array1
    }
    func twoSum(nums []int, target int) []int {
        m := make(map[int]int)
        for i , v := range nums {
            if k , ok := m[target - v]; ok {
                return []int{i, k}
            }
            m[v] = i
        }
        return nil
    }

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

    你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

    示例:

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

    因为 nums[0] + nums[1] = 2 + 7 = 9
    所以返回 [0, 1]

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/two-sum
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 相关阅读:
    DOM getElementById
    百度之星2014
    游艇租借
    2014年acm亚洲区域赛·鞍山站
    UVALive 4255 Guess
    UVA 10054 The Necklace
    UVA 10047 The Monocycle
    UVA 11624 Fire!
    第九届黑龙江省赛
    剑指offer系列31-----二叉树的下一个节点
  • 原文地址:https://www.cnblogs.com/cjjjj/p/12444209.html
Copyright © 2011-2022 走看看