GolangEP06:关于map-下

引子 上一篇文章中留下了两个问题没有解决 map 如何扩容 为什么原生的 map 线程不安全 其实这两个问题是有联系的,所以这篇文章来解决这两个问题。 map 的扩容机制 本节还是需要用到上一篇文章中的底层 hmap 结构 ...

七月 16, 2025 · 5 分钟 · LTX

GolangEP06:关于map-上

引子 在做两数之和时,操作 map 遇到了问题,可以看我下面的代码。 func twoSum(nums []int, target int) []int { sMap := make(map[int]int) for i, x := range nums { sMap[x] = i } var ans []int for i, y := range nums { // 如果另一个值在 map 中存在的话即下标大于等于 0;且要保证不能使用两次相同的元素 p := sMap[target-y] if p >= 0 && p != i { ans = append(ans, i) ans = append(ans, p) break } } return ans } 像极了一个 golang 新手的操作,特别是在判断 key 是否存在于哈希表中时,用值(下标)是否大于 0 来判断。(当然前面的哈希表的定义也有问题) ...

七月 16, 2025 · 3 分钟 · LTX
0:00 --:--