• leetcode-两数之和


    题目链接:https://leetcode.cn/problems/two-sum/

    暴力解法

    两层for循环

    func twoSum(nums []int, target int) []int {
    	for i:= 0;i
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    哈希
    • 使用空间,减少时间
      • 需要找到这题的特点
        • 一次遍历,那么前面的数我已经遍历过了,假设我记忆好,把前面的数都记下来,那么就知道这次能不能成对
      • 另一种思维
        • 结果思维
          • 当我找到后面的一个数时,前面的数其实已经出现过了,所以前面我需要记下前面的数及其出现的下标
    func twoSum(nums []int, target int) []int {
    	numMap := map[int]int{}
    	for i:=0 ;i < len(nums);i++{
    		if _,ok := numMap[target-nums[i]];ok{
    			return []int{numMap[target-nums[i]],i}
    		}
    		numMap[nums[i]] = i
    	}
    	return []int{}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    libevent库bufferevent事件实现socket通信
    无心剑2022年七绝100首
    Rust通用代码生成器莲花发布红莲尝鲜版二十一发布介绍视频,前端代码生成物大翻新
    Spring Boot 项目的常用注解与依赖
    游戏中排行榜算法研究
    【Linux系统】第一篇:基础指令篇
    市场的新宠:4G智能手表
    Dataworks实现接口调用
    el-select multiple表单校验问题
    人工智能:PyTorch深度学习框架介绍
  • 原文地址:https://blog.csdn.net/u014704998/article/details/128062584