Skip to content

Instantly share code, notes, and snippets.

@vinodkd
Created March 11, 2012 18:52
MaxProd
public static int maxProd(int[] input){
int max1 = max2 = max3 = java.lang.Integer.MIN_VALUE;
int min1 = min2 java.lang.Integer.MAX_VALUE;
for(int i=0; i<input.length;i++){
// recalc the new max3 numbers
int val= input[i];
if(val > max1){
max2 = max1; // dont lose the old max1
max1=val;
}
else if(val > max2 && val < max1){
max3 = max2; // dont lose the old max2
max2 = val;
}
else if (val > max3 && val < max2) {
max3 = val;
}
// end recalc max
// recalc the min 2 numbers
if(val < min1){
min2 = min1;
min1 = val;
}
else if(val < min2 && val > min1){
min2 = val;
}
// end recalc min
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment