[LeetCode]Two Sum

来源:互联网 发布:ubuntu教程 编辑:程序博客网 时间:2024/06/13 22:12

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:

nums=[2,7,11,15],target=9;

return [0,1]

使用HashMap。从头扫描原数组,并在HashMap中搜索有没有和当前数组元素相加等于target的元素,有则成功找到,输出结果;没有则将当前数组元素存入HashMap。

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


1 0
原创粉丝点击