求和算法

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

package com.sxf;
import java.util.ArrayList;
public class Sum {
    public static void main(String[] args) {    
            ArrayList<Integer> list=new ArrayList<Integer>();
            int[] source= {3,4,5,55,7};
            int target=9;
            list=getIndex(source,target);
            for(int i=0;i<source.length;i++) {
               if(source[i]==list.get(0)||source[i]==list.get(1)) {
                   System.out.println(i);
               }
           }        
    }
    private static ArrayList<Integer> getIndex(int[] source, int target) {
       ArrayList<Integer> list=new ArrayList<Integer>();
       if(source==null||source.length<2) {
           return null;
       }
        for(int i=0;i<source.length;i++) {
            for(int j=i+1;j<source.length;j++) {
                if(source[i]+source[j]==target) {
                    list.add(source[i]);
                    list.add(source[j]);
                    break;
                }
                
            }
        }
        return list;    
    }
}
 

猜你喜欢

转载自blog.csdn.net/weixin_37565521/article/details/87457550