mckeejm
BAN USERThis is the simple methodical approach, loop through array to get the total sum. iterate back through the array from 1 to length - 1. subtracting each the value at each previous index , doing the comparison, and returning early when we find an equilibrium.
public class equilibriumApp
{
public static void main(String args[])
{
int[] eqArray = { 1,2,3,4,3,2,1 };
int equilibrium = findEquilibriumIndex(eqArray);
System.out.println(equilibrium);
}
private static int findEquilibriumIndex(int[] eqArray)
{
int leftSum = 0,rightSum = 0;
for(int i = 0; i < eqArray.length; i++)
{
rightSum += eqArray[i];
}
for(int j = 1; j < eqArray.length; j++)
{
leftSum += eqArray[j-1];
rightSum-= eqArray[j-1];
rightSum-= eqArray[j];
if(leftSum == rightSum)
return j;
rightSum+= eqArray[j];
}
return -1; //no equilibrium
}
}
public class Engine
{
public string manufacturer;
public float displacementSize;
public boolean turboCharged;
public int cylinders
public int mileCount;
}
public class Transmission
{
public boolean isAutomatic;
public int gearCount;
}
public class Wheel
{
public int size;
public string manufacturer;
public string model;
}
public abstract class Vehicle
{
public String make;
public String model;
public int year;
public int personCapacity;
}
public abstract class WheelVehicle extends Vehicle //bicycle would extend this
{
public Wheel[] wheels;
}
public abstract class PropelledWheelVehicle extends WheelVehicle //segway could extend this, as could motorcycle
{
public Engine e;
public Transmission t;
}
//this is likely the class a car would extend.
public abstract class PropelledWheelVehicleWithDoors extends PropelledWheelVehicle
{
public Door[] doors;
}
public class Car extends PropelledWheelVehicleWithDoors
{
}
}
- mckeejm August 15, 2013