import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
/**
* 先不要看答案,自己想,只有自己想才能学到东西,上来看答案,当换一个别的题目的时候是想不出来的,你懂的,一定要自己想,想不出来,之后在进行总结
* ,学习解决问题的思想,用了什么方法进行解决
*/
public class T1 {
/**
* 输入:nums = [2,7,11,15], target = 9
* 输出:[0,1]
* 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
*
* 来源:力扣(LeetCode)
* 链接:https://leetcode.cn/problems/two-sum
* 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
*/
public static void main(String[] args) {
int[] a={2,7,11,15};
;
System.out.println( getArray2(a,9)[0]);
}
/**
* 用HashMap当作媒介,如果木有找到进行存储到容器中
* @param array
* @param target
* @return
*/
public static int[] getArray1(int[] array,int target){
int[] result=new int[2];
HashMap hashMap=new HashMap();
for(int i=0;i<array.length;i++){
if(hashMap.containsKey(target-array[i])){
result[0]= (int) hashMap.get(target-array[i]);
result[1]=i;
return result;
}else{
hashMap.put(array[i],i);
}
}
return result;
}
/**
* 用for进行解决
* @param array
* @param target
* @return
*/
public static int[] getArray2(int[] array,int target){
int[] result=new int[2];
for(int i=0;i<array.length;i++){
for(int j=i+1;j<array.length;j++){
if(array[i]+array[j]==target){
result[0]=i;
result[1]=j;
}
}
}
return result;
}
}