首页 > 其他分享 >Golang HOT100 做题记录

Golang HOT100 做题记录

时间:2023-10-07 23:35:10浏览次数:50  
标签:return target 记录 int nums Golang k1 HOT100 mp

 

LeetCode 热题100

  

1. 两数之和

题目大意:给出一个数字的数 []num,一个目标值 target。在数组中,找出两数之和为目标值的下标,任意输出一个答案。

例子:num[] = {0, 2,3, 4, 2}, target = 4, 输出:[]int{0,3}

注意点:1. 不能重复,如上不能为 []int{1,1} ,2.注意数组中重复数字处理

 

首次代码:

mp记录一下 value, target-value 对应的 index

repeat 记录首次出现的index,mp则是第二次出现的 index

(我怎么可以写的这么复杂?)

func twoSum(nums []int, target int) []int {
  mp := make(map[int]int, 0)
  repeat := make(map[int]int, 0)
  for k, v := range nums {
    if _, ok := mp[v]; ok {
      repeat[v] = mp[v]
    }
    mp[v] = k
  }

  for _, v := range nums {
    k1, ok1 := mp[v]
    k2, ok2 := mp[target-v]
    k3, ok3 := repeat[v]
    if ok1 && ok2 && (k1 != k2 || ok3) {
      if (ok3) {
        return  []int{k1,  k3}
      }
      return []int{k1, k2}
    }
  }
  return []int{}
}

 

标准代码:

func twoSum(nums []int, target int) []int {
  hashTable := make(map[int]int, 0)

  for k, v := range nums {
    // 加个简单的判断 当前v是否与之前出现过的匹配,如果匹配,返回,不匹配,记录到hashmap中
    if v2, ok := hashTable[target-v]; ok {
      return []int{k, v2}
    }
    hashTable[v] = k
  }
  return nil
}

 

标签:return,target,记录,int,nums,Golang,k1,HOT100,mp
From: https://www.cnblogs.com/test1024/p/17747750.html

相关文章

  • 记录--Vue 右键菜单的秘密:自适应位置的实现方法
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助下图这个情景,你是否也遇到过?当你右键点击网页上的某个元素时,弹出的菜单被屏幕边缘遮挡了,导致你无法看清或选择菜单项?上图中右键菜单的选项并不是固定不变的,它会根据不同的元素或场景来显示不同的选项。也就是......
  • CMAKE学习记录
    介绍CMake是一个跨平台的开源构建工具,用于管理软件构建过程。它采用了一种声明式的构建配置语言,可以生成与平台无关的构建脚本,使得在不同的操作系统和编译器上都能够方便地构建项目。CMake的设计目标是提供一个简洁、高效的构建系统,以更好地支持大型项目的构建和管理。它具有......
  • 牛客刷java记录第5天
    第一题,下列代码运行结果是?classX{Yy=newY();publicX(){System.out.print("X");}}classY{publicY(){System.out.print("Y");}}publicclassZextendsX{Yy=newY();publicZ(){......
  • GoLang context包
    初始化一个context如果确定是开头则用Background,如果不确定则用ToDocontext包核心API有四个1.context.WithValue设置键值对,并且返回一个新的context实例2.context.WithCancel3.context.WithDeadline4.context.WithTimeout三者都返回一个可取消的context实例和取消函数,WithTi......
  • 记录 Ucharts 的使用
    1.开启2d渲染线上运行开启canvas2d可以解决图表显示问题<qiun-data-chartscanvas2d.../>canvasId可以不传,官方内置生成随机字符串id的方法注:开启2d后,不能真机调试,只能开发者工具调试或扫二维码"预览"。开启2d后,模拟器出现显示穿透的问题无需理会。......
  • golang实现一个简单的文件浏览下载功能代码示例
    想省事用Claude(一个依托chatgpt的AI)生成一段golang的文件浏览下载示例,结果给生成的代码大概是这样的(省去了无关部分,主要部分如下):http.HandleFunc("/*",downloadFile)http.HandleFunc("/",showFileList)测试之后,结果发现每次都会走到“/”下去,无论如何都不会......
  • 记录在广州两个月的Android面试插曲和感想
    前言一晃眼9月份了,入职快两个月闲着才想着写一份面经,从今年4月份离的职,中间休息加上学习一个半月(好不容易有闲时间就有些懈怠了)剩下一个半月的时间,通过内推+BOSS直聘,前前后后约到了10几家面试,终于拿到了一个满意的offer,仍然是一家做海外APP的公司。离职上家公司位于广州天河区,是一......
  • linux学习记录 10.7
    苹果电脑的insert=fn+回车acterminal中shift选中复制=ctrl+fn+回车粘贴=shift+fn+回车cp=复制文件+可重命名mv=剪切文件+可重命名 Vim中yy=复制当前行y=复制选中p=粘贴到下一行u=撤销ctrl +r=取消撤销fn+←=在insert模式......
  • 2023 年 10 月训练记录
    训练记录10月了。CF457FAneasyproblemabouttrees尝试理解,感谢cz_xuyixuan的题解。我们不妨先二分答案,将\(\gemid\)的设为\(1\),\(<mid\)的设为\(0\),于是问题转化为了权值均为\(0/1\)的版本。我们称一棵树的大小为其非叶节点数。我们称一棵大小为奇数的树为奇......
  • 记录一次修不好的proxifier最终解决
    记录一次修不好的proxifier最终解决前言在做一道内网渗透题时,配置好frp和proxifier发现proxifier报了错误有cannotconfigurewindowsnetworktrytorunsyssettingtoolmanuallyError:Windowsnetwork(Winsock)isnotproperlyconfiguredtoworkwithProxifier......