博客
关于我
leetcode算法题1——两数之和(难度:简单)
阅读量:797 次
发布时间:2023-03-28

本文共 670 字,大约阅读时间需要 2 分钟。

一、题目

两数之和:

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

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

二、解答

这道题还是比较简单,常规思路可以用两个for循环暴力破解。

但是两个for循环套用导致性能很低,程序运行时间超出的时间限制。

参看评论区大佬的code之后,发现可以用一个简单的hashmap实现,且性能高效,代码如下:

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

转载地址:http://hdhfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现将彩色图像转换为负片算法(附完整源码)
查看>>
Objective-C实现将无符号整数n变成成d进制表示的字符串s(附完整源码)
查看>>
Objective-C实现将给定的 utf-8 字符串编码为 base-16算法(附完整源码)
查看>>
Objective-C实现将给定的字符串编码为 base32算法(附完整源码)
查看>>
Objective-C实现小根堆(附完整源码)
查看>>
Objective-C实现局域网双向通信(附完整源码)
查看>>
Objective-C实现局部最大值点数算法(附完整源码)
查看>>
Objective-C实现屏幕捕获功能( 附完整源码)
查看>>
Objective-C实现峰值信噪比算法(附完整源码)
查看>>
Objective-C实现已线段的形式求曲线长算法(附完整源码)
查看>>
Objective-C实现已递归的方式找到一个数字数组的最大值算法(附完整源码)
查看>>
Objective-C实现巴比伦平方根算法(附完整源码)
查看>>
Objective-C实现带头双向循环链表(附完整源码)
查看>>
Objective-C实现广度优先搜寻树遍历算法(附完整源码)
查看>>
Objective-C实现应用程序添加防火墙白名单 (附完整源码)
查看>>
Objective-C实现度到弧度算法(附完整源码)
查看>>
Objective-C实现建造者模式(附完整源码)
查看>>
Objective-C实现开方数(附完整源码)
查看>>
Objective-C实现异或加密(附完整源码)
查看>>
Objective-C实现异或密码算法(附完整源码)
查看>>