Be the first user to complete this post

Add to List 
Find three elements in an array that sum to a zero.
Objective: Given an array of integers write an algorithm to find 3 elements that sum to a zero. In short a+b+c = 0.
Example
int [] = { 3,1,7,4,5,9,10}; Elements are 4 9 5
Approach: Brute Force
Use 3 nested loops and find the 3 elements which sum to 0.
Time Complexity: O(n^3)
Code:
Approach: Sorting
 Sort the array.
 Use the other loop to fix the one element at a time, say its ‘a’.
 Now the problem is reduced to "Find a pair of numbers from an array whose sum equals to K"
Time Complexity: O(n^2)
Code:
Approach: Use Hashing
 Use the other loop to fix the one element at a time.
 Now required_sum is (with two elements) = fixed element.
 Create a HashSet, Iterate through the rest of the array.
 For current_element, remain_value = required_sum – current_element.
 Check if remain_value in the HashSet, we have found our triplets else add current_element to the HashSet.
Time Complexity: O(n^2)
Code:
Output:
Found 3 elements whose sum is = 0 Elements are 4 9 5
Also Read: