给定一个整数数组 nums
和一个目标值 target
,在该数组中找出和为目标值的两个整数,并返回他们的数组下标。
JavaScript 实现
使用了 ES6 中的 Map
对象,代码如下:
const nums = [2, 7, 11, 15],
target = 9;
function sumofTwoNumber(nums, target) {
let map = new Map();
for(let i=0; i<nums.length; i++) {
let k = target - nums[i];
if(map.has(k)) {
return [map.get(k), i]
}
map.set(nums[i], i)
}
return []
}
const res = sumofTwoNumber(nums, target);
console.log(res); // [0, 1]
Java 实现
使用 HashMap 实现,代码如下:
package com.company;
import java.util.Arrays;
import java.util.Map;
import java.util.HashMap;
public class SumOfTwoNumber {
public int[] getResult(int[] nums, int target) {
Map<Integer, Integer> map = new HashMap<>();
for(int i=0; i<nums.length; i++) {
int k = target - nums[i];
if(map.containsKey(k)) {
return new int[]{map.get(k), i};
}
map.put(nums.get(i), i);
}
return new int[0];
}
public static void main(String[] args) {
int[] nums = new int[]{2, 7, 11, 15};
SumOfTwoNumber sumOfTwoNumber = new SumOfTwoNumber();
int[] res = sumOfTwoNumber.getResult(nums, 9);
System.out.println(Arrays.toString(res)); // [0, 1]
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。