懒人读算法(十二)-两个和下标

来源:互联网 发布:淘宝代购可以退货吗 编辑:程序博客网 时间:2024/06/05 00:33

趣味题

给出一个数组,和一个目标数,在数组里面有两个值加起来会等于目标数,返回这个下标数组
如:数组nums=[2, 7, 11, 15] 目标数为9
因为nums[0]+num[1]=9
所以返回[0,1]

答案:

public class Solution {    public int[] twoSum(int[] nums, int target) {        int[] result = new int[2];        HashMap<Integer, Integer> map = new HashMap<>();        for(int i = 0; i < nums.length; i++) {            if(map.containsKey(target - nums[i])) {                result[1] = i;                result[0] = map.get(target - nums[i]);                return result;            }            map.put(nums[i], i);        }        return result;    }}

核心思路:利用map.containskey判断数组是否存在目标数减去遍历数

原创粉丝点击