当前位置:网站首页>1. 两数之和(LeetCode题目)
1. 两数之和(LeetCode题目)
2022-06-26 09:36:00 【later_rql】
题目描述
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
解题思路
思路一:暴力求解。
依次判断数组中每两个元素之和与target的大小关系,即可得到相等的两个元素的下标,并返回。
时间复杂度:O(N^2)
空间复杂度:O(l)
思路二:哈希表。
利用哈希表的特殊性来进行判断,查找hash表中有无与target-nums[i]相等的元素,每次就将数据添加入hash表中。
时间复杂度:O(n)
空间复杂度:O(n)
注:对于每一个 x,我们首先查询哈希表中是否存在 target - x,然后将 x 插入到哈希表中,即可保证不会让 x 和自己匹配。
代码
解法一:暴力求解
public static int[] twoSum(int[] nums, int target) {
int[] arr=new int[2];
for(int i=0;i<nums.length-1;i++){
for(int j=i+1;j<nums.length;j++){
if((nums[i]+nums[j])== target){
arr[0]=i;
arr[1]=j;
}
}
}
return arr;
}
解法二:哈希表。
public static int[] twoSum_hash(int[] nums, int target){
Map<Integer, Integer> hashtable = new HashMap<Integer, Integer>();
for (int i = 0; i < nums.length; ++i) {
if (hashtable.containsKey(target - nums[i])) {
return new int[]{
hashtable.get(target - nums[i]), i};
}
hashtable.put(nums[i], i);
}
return new int[0];
}
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
边栏推荐
- Teach you to use shell script to check whether the server program is running
- 自动化测试——pytest本身及第三方模块介绍及使用
- libgstreamer-1.0. so. 0: cannot open shared object file: No such file or directory
- 力扣------从数组中移除最大值和最小值
- Redis master-slave replication in win10 system
- install opencv-contrib-dev to use aruco code
- cento7.7安装ELK简单记录
- SQL高级教程
- Notes on sports planning on November 22, 2021
- 我的创作纪念日
猜你喜欢

Go learning notes (83) - code specification and common development skills

thymeleaf中抽取公共片段

VI summary of common commands

What is the web SSH service port of wgcloud

Detailed explanation of the network security competition questions (2) of the 2021 national vocational college skills competition (secondary vocational group)

c语言语法基础之——指针( 多维数组、函数、总结 ) 学习

Basic grammar of C language -- pointer (character, one-dimensional array) learning

This new change of go 1.16 needs to be adapted: the changes of go get and go install

How to create an IE tab in edge browser

druid数据源实现后台监控
随机推荐
Flink入门——单词统计
Redis notes (14) - persistence and data recovery (data persistence RDB and AOF, data recovery, mixed persistence)
SQL query duplicate record
从tf 1.x到tf 2.6(遇到的就过来更新更新)
MapReduce & yarn theory
我的创作纪念日
Glide's most common instructions
Use recursion or a while loop to get the name of the parent / child hierarchy
WGCLOUD的web ssh服务端口是多少
What you need to know to test -- URL, weak network, interface, automation
动态库连接 - 符号冲突 - 全局符号介入
微软 Edge 浏览器 IE 模式标签页出现卡死情况,已通过回滚更新修复
How about the security of flush stock trading software? How to open an account in flush
A concise tutorial for getting started with go generics
Threadmode interpretation of eventbus
Wechat official account reported error 10003
LeetCode 0710.黑名单中的随机数 - 预处理实现O(1)取值
Solution to network request crash in retrofit2.8.1
jar版本冲突问题解决
Redis notes (15) - Pipeline (the client packages and sends batch commands to save network overhead)