1-Two number sum(两数之和)
write a function that takes in a non-empty array of distinct integers and an integer representing a target sum. if any two numbers in the input array sum up to the target sum, the function should return them in an array in any order. if no two numbers sum up to the target sum, the function should return an empty array.
sample input
array = [3, 5, -4, 8, 11, 1, -1, 6]
targetSum = 10
sample output
[-1, 11]
(1) idea:
- traversing every element in array as first number
- traversing every rest of elements as second number
- if second number equals to tragetSum minus first number, then return the array with those two number
class solution{
private int[] getTargetNumber(int[] array, int targetSum){
for(int i = 0; i < array.length; i++){
int first = array[i];
for(int j = 1; j < array.length; j++){
int second = array[j];
if(targetSum - first == second){
return new int[]{first, second};
}
}
return new int[0];
}
}
}