题目描述:
给定一个整数数组 nums
和一个目标值 target
,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
/*
方法一:暴力搜索法:时间复杂度O(n2)
class Solution {
public int[] twoSum(int[] nums, int target) {
if(nums == null || nums.length<1) return null;
for(int i=0; i<nums.length;i++){
for(int j= nums.length-1;j>i;j--){
if(nums[j]+nums[i]== target){
return new int[]{i,j};
}
}
}
return null;
}
}
*/
/*
方法二:
哈希:时间复杂度O(1)
class Solution{
public int[] twoSum(int[] nums, int target){
if(nums == null || nums.length < 1) return null;
HashMap<Integer,Integer> map=new HashMap<>();
for(int i=0; i<nums.length;i++ ){
if(map.containsKey(target-nums[i])){
return new int[]{map.get(target-nums[i]),i};
}
map.put(nums[i],i);
}
return null;
}
}
*/