Find Equilibrium Index
This program finds equilibrium index of an array.
Problem Statement
Write a Java program to find equilibrium index where sum of left elements equals sum of right elements.
Source Code
| 1 | public class EquilibriumIndex { |
| 2 | public static void main(String[] args) { |
| 3 | System.out.println("Eduinq Equilibrium Index"); |
| 4 | int[] arr = {1,3,5,2,2}; |
| 5 | int total=0; |
| 6 | for(int num:arr) total+=num; |
| 7 | int leftSum=0; |
| 8 | for(int i=0;i<arr.length;i++){ |
| 9 | total-=arr[i]; |
| 10 | if(leftSum==total){ |
| 11 | System.out.println("Equilibrium index: "+i); |
| 12 | return; |
| 13 | } |
| 14 | leftSum+=arr[i]; |
| 15 | } |
| 16 | System.out.println("No equilibrium index found"); |
| 17 | } |
| 18 | } |
Program Output
Eduinq Equilibrium Index Equilibrium index: 2
Explanation
The total sum is calculated first, and as the loop progresses it subtracts the current element from total (representing the remaining right sum) and compares it with the accumulated leftSum, identifying the equilibrium index where both sides match.