You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.5 KiB
Java

public class FindMiddleIndex
{
public static int findMiddleIndex(int[] numbers) throws Exception
{
int endIndex = numbers.length - 1;
int startIndex = 0;
int sumLeft = 0;
int sumRight = 0;
while (true)
{
if (sumLeft > sumRight)
{
sumRight += numbers[endIndex--];
}
else
{
sumLeft += numbers[startIndex++];
}
if (startIndex > endIndex)
{
if (sumLeft == sumRight)
{
break;
}
else
{
throw new Exception(
"Please pass proper array to match the requirement");
}
}
}
return endIndex;
}
public static void main(String a[])
{
int[] num = { 2, 4, 4, 5, 4, 1 };
try
{
System.out.println("Starting from index 0, adding numbers till index "
+ findMiddleIndex(num) + " and");
System.out.println("adding rest of the numbers can be equal");
}
catch (Exception ex)
{
System.out.println(ex.getMessage());
}
}
}