Skip to content

A function that returns the two numbers that add up to a target in any given array

License

Notifications You must be signed in to change notification settings

Kaydayo/TwoSum_Optimized

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

TwoSum_Optimized

A function that returns the two numbers that add up to a target in any given array

Approach to Problem

Approach Time Complexity Space Complexity
Brute Force O(N2) O(1)
Binary Search O(N log N) O(1)
Hash Map O(N) O(N)

Optimal Solution

A brute force approach have a nested for loop where i look for the first pair of indices of two numbers that add up to the target value. However, even though this approach is as simple as it gets, it is not the most optimal solution to the problem as the time complexity of this solution is a cause for concern with an O(N²) run time

For better efficiency my approach is to avoid the use of nested for loop by adopting a hash map data structure i have now improved the time complexity of my solution immensely with a run time of O(N). Each element is only being iterated once and ONLY once as i am no longer looping through the entire array for each iteration.

conclusion

However, this improvement in performance comes at a great cost. i now have a space complexity of O(N) since i am utilizing a hash map in my solution as a storage buffer for my elements in the input. Now, i am sacrificing space for speed. This is a scenario of tradeoff between space or time where the choice of either increasing space and decreasing speed or vice versa is being considered and immesnely factored.

Solution to problen contained in solution.js file

About

A function that returns the two numbers that add up to a target in any given array

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published