【go】两数求和

雨点打透心脏的1/2处 2024-02-20 09:46 137阅读 0赞

在这里插入图片描述

文章目录

    • 题目
    • 代码
          • 解法2
    • 代码仓库

题目

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

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

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

代码

  1. /*
  2. * @Author: JavaPub
  3. * @Date: 2023-10-28 11:36:49
  4. * @LastEditors: your name
  5. * @LastEditTime: 2023-10-28 11:44:59
  6. * @Description: Here is the JavaPub code base. Search JavaPub on the whole web.
  7. * @FilePath: \Go-Learn-Algorithms\examples\simple\1\1.go
  8. */
  9. // 第一道题就用两数求和来开始,两数之和
  10. package main
  11. import "fmt"
  12. func main() {
  13. fmt.Println(twoSum([]int{
  14. 3, 2, 4}, 6))
  15. }
  16. func twoSum(nums []int, target int) []int {
  17. for i, v := range nums {
  18. for j, b := range nums {
  19. if v+b == target && i != j {
  20. return []int{
  21. i, j}
  22. }
  23. }
  24. }
  25. return []int{
  26. 9, 9}
  27. }
解法2
  1. package main
  2. import "fmt"
  3. func main() {
  4. fmt.Println(twoSumV2([]int{
  5. 2, 7, 11, 15}, 9))
  6. }
  7. func twoSumV2(nums []int, target int) []int {
  8. for i, x := range nums {
  9. for j := i + 1; j < len(nums); j++ {
  10. if x+nums[j] == target {
  11. return []int{
  12. i, j}
  13. }
  14. }
  15. }
  16. return nil
  17. }

代码仓库

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

发表评论

表情:
评论列表 (有 0 条评论,137人围观)

还没有评论,来说两句吧...

相关阅读