首页 > 其他 > 详细

中等-18-四数之和

时间:2020-06-22 09:13:55      阅读:62      评论:0      收藏:0      [点我收藏+]

该文逐次讲述二数之和,三数之和,四数之和

 

一,二数之和 LeetCode01

作为力扣第一题,应该很是经典了。回头翻两个月前做的解法,是暴力解法,当时还没学习哈希表,现在做个补充吧。

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

形象地说,暴力法是往后寻找匹配值,哈希表是往前寻找匹配值。

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

 

二,三数之和 LeetCode15

 

中等-18-四数之和

原文:https://www.cnblogs.com/faded828x/p/13175101.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!