【go】两数求和

简介: 【go】两数求和

题目

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

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

代码

/*
 * @Author: JavaPub
 * @Date: 2023-10-28 11:36:49
 * @LastEditors: your name
 * @LastEditTime: 2023-10-28 11:44:59
 * @Description: Here is the JavaPub code base. Search JavaPub on the whole web.
 * @FilePath: \Go-Learn-Algorithms\examples\simple\1\1.go
 */

// 第一道题就用两数求和来开始,两数之和

package main

import "fmt"

func main() {
  fmt.Println(twoSum([]int{3, 2, 4}, 6))
}

func twoSum(nums []int, target int) []int {
  for i, v := range nums {
    for j, b := range nums {
      if v+b == target && i != j {
        return []int{i, j}
      }
    }
  }
  return []int{9, 9}
}

解法2
package main

import "fmt"

func main() {
  fmt.Println(twoSumV2([]int{2, 7, 11, 15}, 9))
}

func twoSumV2(nums []int, target int) []int {
  for i, x := range nums {
    for j := i + 1; j < len(nums); j++ {
      if x+nums[j] == target {
        return []int{i, j}
      }
    }
  }
  return nil
}

代码仓库

https://github.com/Rodert/Go-Learn-Algorithms/tree/main/examples/simple/two-sum

目录
相关文章
|
27天前
|
SQL 算法 数据挖掘
LeetCode 第四题:寻找两个正序数组的中位数 【4/1000 】【python + go】
LeetCode 第四题:寻找两个正序数组的中位数 【4/1000 】【python + go】
|
2月前
|
Go
[leetcode ~go]三数之和 M
[leetcode ~go]三数之和 M
YI
|
Go
LeetCode 0977.有序数组的平方【Go】
LeetCode 0977.有序数组的平方【Go】
YI
57 0
|
Go
go05 实数
go05 实数
52 1
YI
|
Go
LeetCode 0069. X的平方根【Go】
LeetCode 0069. X的平方根【Go】
YI
69 0
YI
|
Go
LeetCode 0367.有效的完全平方数【Go】
LeetCode 0367.有效的完全平方数【Go】
YI
61 0
|
存储 Go
go06 整数
go06 整数
54 0
每日一题 --- 537. 复数乘法[力扣][Go]
每日一题 --- 537. 复数乘法[力扣][Go]
每日一题 --- 537. 复数乘法[力扣][Go]
每日一题---29. 两数相除[力扣][Go]
每日一题---29. 两数相除[力扣][Go]
每日一题---29. 两数相除[力扣][Go]
每日一题 --- 713. 乘积小于 K 的子数组[力扣][Go]
每日一题 --- 713. 乘积小于 K 的子数组[力扣][Go]
每日一题 --- 713. 乘积小于 K 的子数组[力扣][Go]