传送门:
这道题算是我开始写算法的第一道题:
https://leetcode-cn.com/problems/two-sum/
执行用时:2 ms, 在所有 Java 提交中击败了99.62% 的用户
内存消耗:39.2 MB, 在所有 Java 提交中击败了23.03% 的用户
public class LeetCode1 {
public static int[] twoSum(int[] nums, int target) {
//开辟一个map来储存数字
Map <Integer , Integer> map =new HashMap<>();
//遍历数组
for (int i =0 ;i <nums.length ;i++){
//获取减法获取到要查找的数字
int num = target - nums[i];
//判断map中是否有num这个key
if (map.containsKey(num)){
//如果有就返回一个新的数组,存放两个数字的索引
return new int[]{map.get(num) , i};
}
//否则将数字加入map中,数字为key,索引为值
map.put(nums[i],i);
}
//否则返回空
return null;
}
}