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

leetcode1. 两数之和

题目:leetcode1. 两数之和

描述:
给定一个整数数组 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,取出nums[i],查看map中是否存在target-num[i] 这个键,如果存在则将i和target-num[i] 这个键所对应的值保存进数组,然后返回这个数组即可。否则将nums[i]作为键,i作为值保存到map里面。
这就保证了每次取出nums里面的一个元素,都可以利用map查找是否存在需要的另一个数。

import java.util.HashMap;
import java.util.Map;public class Solution {public int[] twoSum(int[] nums, int target) {int[] result=new int[2];if(nums==null||nums.length==0)return result;Map<Integer,Integer> hash=new HashMap<>();for (int i = 0; i < nums.length; i++) {if(hash.containsKey(target-nums[i])) {result[1] = hash.get(target-nums[i]);result[0]=i;break;}hash.put(nums[i],i);}return result;}
}
http://www.lryc.cn/news/121742.html

相关文章:

  • 温室花卉种植系统springboot框架jsp鲜花养殖智能管理java源代码
  • 测试老鸟经验总结,Jmeter性能测试-重要指标与性能结果分析(超细)
  • IDEA设置Maven自动编译model
  • 关于本地mockjs的使用
  • hive 中最常用日期处理函数
  • 记录一下Java实体转json字段顺序问题
  • 微积分入门:总结归纳汇总(一)
  • ubuntu python虚拟环境venv搭配systemd服务实战(禁用缓存下载--no-cache-dir)
  • 案例15 Spring Boot入门案例
  • 物联网是下一个风口吗?
  • 8月9日上课内容 nginx反向代理与负载均衡
  • 易服客工作室:Elementor AI简介 – 彻底改变您创建网站的方式
  • ClickHouse的数据类型
  • 计算机网络—IP
  • Java 的 Stream
  • SolidUI社区-Discord
  • Spring MVCSpring Boot
  • 01-集群安装JDK(普通用户)
  • 小龟带你妙写排序之选择排序
  • 深入解析 SOCKS5 代理及其在网络安全与爬虫中的应用
  • day9 10-牛客67道剑指offer-JZ66、19、20、75、23、76、8、28、77、78
  • 气体检测仪语音报警芯片,可自行烧录的音频芯片,WT588F02B-8S
  • gdb 调试汇编
  • WebRTC音视频通话-新增或修改SDP中的码率Bitrate限制
  • 深入理解与运用Android Jetpack ViewModel
  • 【数据库】P0 创建数据库环境 MySQL + DataGrip
  • js设置css变量控制页面一行展示指定个数的元素
  • 4.0 Spring Boot入门
  • [国产MCU]-BL602开发实例-I2C与总线设备地址扫描
  • Python Opencv实践 - 图像平移