当前位置: 首页 > news >正文

两数之和解题记录

开始打算用一个数组保存差值,arr[target-nums[i]] = i, 只要arr[nums[i]]有内容就能满足target,返回arr[nums[i]]和i。但是会出现复数的情况,所以换成map。

换成map就只用一边遍历,一遍检查和存入对应key就行了,value就是index,不用拐着弯儿存。

func twoSum(nums []int, target int) []int {
    m := make(map[int]int, len(nums)) // 预分配容量
    for i, v := range nums {
        if j, ok := m[target-v]; ok {
            return []int{j, i}
        }
        m[v] = i
    }
    return nil // 返回 nil 比返回空切片更符合 Go 习惯
}

相关文章:

  • 自定义 ForDemo 类:简化 for 循环书写
  • Flutter网络请求封装:高效、灵活、易用的Dio工具类
  • 第十三章:优化内存管理_《C++性能优化指南》_notes
  • 强大的AI网站推荐(第四集)—— Gamma
  • Pre-flash和Main flash
  • 机器学习——CatBoost、目标变量统计、排序提升算法
  • 《TCP/IP网络编程》学习笔记 | Chapter 22:重叠 I/O 模型
  • 重复出现的数字
  • ‌GraphRAG 知识图谱,设置适配阿里云百炼平台实战教程【上】
  • 【大模型基础_毛玉仁】4.3 参数选择方法
  • python笔记之判断月份有多少天
  • 【商城实战(72)】解锁用户评价与晒单功能开发秘籍
  • 【第2月_day10】Pandas数据查看与选择
  • MySQL查询语句的使用
  • TypeScript实现二分查找算法:原理剖析与最佳实践
  • 网页的性能优化
  • 一. 相机模组摆放原理
  • OpenAI深夜直播「偷袭」谷歌!GPT-4o原生图像生成:奥特曼带梗图,AGI战场再燃战火
  • 阶段二:面向对象编程
  • 生活电子常识——cmd不能使用anaconda的python环境,导致输入python打开应用商店
  • 江西3人拟提名为县(市、区)长候选人
  • 车主质疑零跑汽车撞车后AEB未触发、气囊未弹出,4S店:其把油门当刹车
  • 乌拉圭前总统何塞·穆希卡去世
  • 著名连环画家庞邦本逝世
  • 中拉论坛部长级会议为何悬挂海地和圣卢西亚的国旗?外交部回应
  • 特朗普访中东绕行以色列,专家:凸显美以利益分歧扩大