需求:
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
我的答案(暴力解决法):
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] ret = new int[2];
for(int i=0; i<nums.length; i++) {
for (int j=i+1; j<nums.length; j++) {
if ((nums[i] + nums[j]) == target ) {
ret[0] = i;
ret[1] = j;
}
}
}
return ret;
}
}
最有答案:
class Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer,Integer> map = new HashMap<>();
for (int i=0; i<nums.length; i++) {
int temp = target - nums[i];
if (map.containsKey(temp))
return new int[]{map.get(temp), i};
map.put(nums[i], i);
}
throw new IllegalArgumentException("No two sum solution!");
}
}
相关推荐
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
//给定一个整数数组和一个目标值,找出数组中和为目标值的两个数 //你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用 //示例: //给定 nums = [2, 7, 11, 15], target = 9 //因为 nums[0] + nums[1] = ...
#include <iostream> //预处理命令 using namespace std; //使用命名空间std int main( ) //主函数首部 { //函数体开始 int a,b,sum; //定义变量 cin>>a>>b; //输入语句 sum=a+b; //赋值语句 ...
题目 "两数之和 II - 输入有序数组" 是一道经典的计算机算法问题,主要涉及数组处理、二分查找和双指针技术。这个问题来源于 LeetCode 平台,要求在一个已排序的整数数组 `numbers` 中找到两个数,使得它们的和等于...
python python两数之和历程.txtpython两数之和历程.txtpython两数之和历程.txtpython两数之和历程.txtpython两数之和历程.txtpython两数之和历程.txtpython两数之和历程.txt
我的第一个.NET应用程序,VB.NET 求两数之和,就是实现加法运算,代码如下: Private Sub BtnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAdd.Click Dim FirstNum As ...
在哈希表中查找一个key的时间复杂度到底是多少?–leetcode 1
两数之和.md
两数之和.c
两数之和.exe
python python_leetcode题解之001两数之和
1. 两数之和题目描述1. 两数之和题目链接Difficulty: 简单给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那
两数之和 II - 输入有序数组.md
java Java面试_leetcode题解之第653题两数之和IV
手绘算法力扣 1 两数之和(Two Sum)
理解两数之和的奇偶性(2).pdf
两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
求两数之和题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。示例:所以返回