Skip to content

Files

Latest commit

f3c21d0 · Nov 20, 2016

History

History

4Sum

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Nov 20, 2016
Nov 20, 2016
Nov 20, 2016

README.md

4Sum

Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly one solution.

For example, given array S = {-1 2 1 -4}, and target = 1.

The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).**

分析

第一种解法:(O(n3) 耗时:182ms)

  • 与3Sum题的解法类似,加一层for循环即可。

第一种解法:(O(n2) - O(n4) 耗时:400-500ms)

  • 维护一个2个数字和的hashMap,然后利用2sum去处理这个hashMap,即hashMap[sum1],hashMap[sum2],满足sum1 + sum2 == target;

疑点:本尝试第二种解法的效率更高,但是实际耗时更长,与cases可能有关系。