美文网首页
给定一个整数数组,找出其中两个数相加等于目标值

给定一个整数数组,找出其中两个数相加等于目标值

作者: Leon_hy | 来源:发表于2018-07-11 17:33 被阅读105次

给定一个整数数组,找出其中两个数相加等于目标值
例如:给定数组及目标值 nums = [2,7,11,15] ,target = 9
因为nums[0] + nums[1] = 2 + 7 = 9
返回[0,1]
利用HashMap

private int[] findData(int[] array,int target){
   int[] result={-1,-1};
  HashMap<Integer,Integer> map = new HashMap<Integer,Integer>();
 for(int i=0;i<array.length;i++){
      map.put(array[i],i); 
     }

 for(int i=0;i<array.length;i++){
      int two = target-array[i];
     if(map.containKey(two)&&target!=2*two){
          result[0]=i;
         result[1]=map.get(two);
         break;
   }
 }
 retrurn result;
}

相关文章

网友评论

      本文标题:给定一个整数数组,找出其中两个数相加等于目标值

      本文链接:https://www.haomeiwen.com/subject/rktkpftx.html