给定一个整数数组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)
*/
}