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

DAY 36 leetcode 1--哈希表.两数之和

题号1

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

我的解法一:两重循环

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int size=nums.length;
        int slow=0;
        int fast=1;
        int []arr=new int[2];//将返回的答案数组
        outloop:
        for(int i=0;i<size;i++){
            for(int j=i+1;j<size;j++){
                if(nums[i]+nums[j]==target)
                {
                    arr[0]=i;
                    arr[1]=j;
                    break outloop;
                }
            }
        }
        return arr;
    }
}

缺点:时间复杂度高

我的解法二

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int []arr=new int[2];
        Map <Integer,Integer>map=new HashMap<>();//创建哈希map
        int size=nums.length;
        for(int i=0;i<size;i++){
            //每次存之前检测,是否包含可以使得将存元素与其相加等于target的元素
            if(!map.containsKey(target-nums[i]))
            map.put(nums[i],i);
            else
            {
                arr[0]=i;
                arr[1]=map.get(target-nums[i]);
                break;
            }
        }
        return arr;
    }
}

此解法的关键,回答四个问题:

  • 为什么会想到用哈希表
  • 哈希表为什么用map
  • 本题map是用来存什么的
  • map中的key和value用来存什么的  

为何想到哈希表:当我们需要查询一个元素是否出现过,或者是否在集合中时第一时间想到哈希表

哈希表为何用map:因为要同时保存下标和对应数值,用集合实现不了

map用来存什么:已经遍历过的下标和对应数值

因为要判断元素是否出现,key用来存数值,有key对应的就是value,value用来存下标。

相关文章:

  • JVM监控
  • 注册中心 Nacos 的 CP 和 AP 模式原理
  • 矢量瓦片切片工具
  • Python 布尔类型
  • 【linux学习】linux系统调用编程
  • 数据结构|排序算法(一)快速排序
  • Spring Boot 打印日志
  • Linux makefile的一些语法
  • ORA-09925 No space left on device 问题处理全过程记录
  • windows下载安装远程桌面工具RealVNC-Server教程(RealVNC_E4_6_1版带注册码)
  • 企业供应链管理
  • Ubuntu 22.04/24.04 配置apt 源
  • 高并发系统架构设计核心要点的结构化提炼【大模型总结】
  • linux paste 命令
  • 链路聚合配置命令
  • C++11可变参数模板单例模式
  • hi3516cv610通过menuconfig关闭的宏记录
  • 【MySQL数据库】锁机制
  • Linux系统调试
  • ML:Non-deterministic Turing Machine,简称 NTM
  • 大形电商网站开发费用/知乎关键词优化软件
  • 做娱乐网站需要哪些/营销网站建设都是专业技术人员
  • 安阳做网站哪家好/模板网站
  • 云南建设厅网站房地产开发资质/国内seo服务商
  • 网站制作的评价指标中/seo如何优化图片
  • 企业所得税应纳税所得额怎么算/沈阳百度seo关键词排名优化软件