java基础---两数之和

给定一个整数数组list和一个目标值 target,在该数组中找出和为目标值的两个整数。
假设每种输入只会对应一个答案。但是不能重复利用这个数组中同样的元素。

public class Test {
    /**
     * 实例:
     * 给定 list = [1, 3, 4, 9], target = 10
     * 因为 nums[0] + nums[9] = 1 + 9 = 10
     * 返回 1 + 9 = 10
     */
    public static void main(String[] args) {
        List list = new ArrayList<>(Arrays.asList(1, 3, 4, 9));
        int target = 10;
        List resultList = new ArrayList<>();
        for (Integer s : list) {
            int result = target - s;
            if (resultList.contains(result)) {
                System.out.println(s + " + " + result + " = " + target);
                break;
            }
            resultList.add(s);
        }
    }
    /**
     * 时间复杂度:O(n), 空间复杂度:O(n)
     */
}

你可能感兴趣的:(java基础---两数之和)