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

一、哈希——1. 两数之和

一、哈希——1. 两数之和

  • 题目描述
  • 示例
    • 示例1:
    • 示例2:
    • 示例3:
  • 思路
  • 代码

题目描述

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

你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。

你可以按任意顺序返回答案。

示例

示例1:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

示例2:

输入:nums = [3,2,4], target = 6
输出:[1,2]

示例3:

输入:nums = [3,3], target = 6
输出:[0,1]

思路

采用哈希表写法。
判断条件:target - nums[i] == nums[j]
存储nums[j],查找的时间复杂度为O(1)

代码

class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map map = new HashMap();
        for (int i = 0; i < nums.length; i++) {
            if (map.containsKey(target - nums[i])) {
                return new int[] { i, (int) map.get(target - nums[i]) };
            }
            map.put(nums[i], i);
        }
        return null;
    }
}

相关文章:

  • HTML之JavaScript DOM操作元素(2)
  • 【Opensim】软件显示问题(比例不对,按键遮挡,显示不完整)
  • 深入浅出MySQL:概述与体系结构解析
  • DBAPI如何优雅的实现分页查询功能
  • 根据音频中的不同讲述人声音进行分离音频 | 基于ai的说话人声音分离项目
  • Python|OpenCV-实现人物眨眼检测(21)
  • 【Linux基础】Shell脚本
  • 常用的几种编码方式
  • c++———————————————c++11
  • 通俗理解嵌入式
  • 本地部署AI模型 --- DeepSeek(一)
  • 计算机网络基础:DOS命令、批处理脚本常见命令
  • Linux动静态库
  • *PyCharm 安装教程
  • for循环可遍历但不可以修改列表原因分析
  • 集成开发环境GoLand安装配置结合内网穿透实现ssh远程访问服务器
  • 18-除自身以外数组的乘积
  • P8716 [蓝桥杯 2020 省 AB2] 回文日期
  • 力扣-贪心-45 跳跃游戏
  • 【分布式数据一致性算法】Gossip协议详解
  • 中青旅:第一季度营业收入约20.54亿元,乌镇景区接待游客数量同比减少6.7%
  • 国泰海通合并后首份业绩报告出炉:一季度净利润增逾391%
  • 【社论】人工智能,年轻的事业
  • 书业观察|一本书的颜值革命:从毛边皮面到爆火的刷边书
  • “不意外”和“不遗余力”,直击上海商超对接外贸企业
  • 特朗普的百日执政支持率与他“一税解千愁”的世界观和方法论