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.

Quick Links to Explore