赞
踩
(一)给定一个整型数组,找出能相加起来等于一个特定目标数字的两个数。
函数 twoSum 返回这两个相加起来等于目标值的数字的索引,且 index1 必须小于 index2。 请记住你返回的答
案(包括 index1 和 index2)都不是从 0 开始的。
你可以假定每个输入都有且仅有一个解决方案。
输入: numbers={2, 7, 11, 15}, target=9
输出: index1=1, index2=2
- public class Solution {
- public int[] twoSum(int[] nums, int target) {
- HashMap<Integer,Integer> map=new HashMap<Integer,Integer>();
- int[] result=new int[2];
- for(int i=0;i<nums.length;i++){
- map.put(nums[i], i);
- }
- for(int i=0;i<nums.length;i++){
- int searched=target-nums[i];
- if(map.containsKey(searched)&&map.get(searched)!=i){
- int index=map.get(searched); if(index<i){
- result[0]=map.get(searched)+1;
- result[1]=i+1;
- }else{
- result[0]=i+1;
- result[1]=map.get(searched)+1;
- }
- }
- }
- return result;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。