赞
踩
第一题:两数之和
详细链接:具体地址(题目描述和刷题平台)
代码实现
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> map = new HashMap<>();
int ans[] = new int[2];
for (int i = 0; i < nums.length; i++) {
if (map.containsKey(target - nums[i])) {
ans[0] = map.get(target - nums[i]);
ans[1] = i;
break;
}
map.put(nums[i], i);
}
return ans;
}
代码说明:用HashMap存储数组中数据的值和具体的位置,每次判断在当前位置的前面是否含有和等于目标值的元素,如果有就直接跳出循环,没有则继续往下判断。
代码分析:时间复杂度和空间复杂度为O(n)
GitHub链接地址:github有这个系列的所有Java代码实现
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。