smaller algo
This commit is contained in:
parent
3fa88b6a5c
commit
98abf5c8e9
@ -5,7 +5,7 @@ import java.util.Arrays;
|
|||||||
public class Aufgabe4 {
|
public class Aufgabe4 {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
int timeout = 150; // milliseconds
|
int timeout = 60; // milliseconds
|
||||||
int[] testValues = {2,34,134,4,53,11,87,142,742,115,00,411,61,33,23456,2346,12,6234562,4562,4562,56245,62456,2456,24562,1,1345,13451,435,1345,1345,134,51345,134513,451,345};
|
int[] testValues = {2,34,134,4,53,11,87,142,742,115,00,411,61,33,23456,2346,12,6234562,4562,4562,56245,62456,2456,24562,1,1345,13451,435,1345,1345,134,51345,134513,451,345};
|
||||||
Arrays.sort(testValues);
|
Arrays.sort(testValues);
|
||||||
for (int value:testValues){
|
for (int value:testValues){
|
||||||
@ -25,24 +25,16 @@ public class Aufgabe4 {
|
|||||||
if(deltaT>timeout) {
|
if(deltaT>timeout) {
|
||||||
lastdate = date.getTime();
|
lastdate = date.getTime();
|
||||||
modulo = (rangeMax - rangeMin) % 2;
|
modulo = (rangeMax - rangeMin) % 2;
|
||||||
center = rangeMin + (rangeMax - rangeMin) / 2 + modulo;
|
center = rangeMin + (rangeMax - rangeMin) / 2;
|
||||||
infoGraphic( value, center, rangeMin, rangeMax, modulo, inputArray);
|
infoGraphic( value, center, rangeMin, rangeMax, modulo, inputArray);
|
||||||
if (value == inputArray[center]) {
|
if (value == inputArray[center]) {
|
||||||
res = center;
|
res = center;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (value == rangeMax){
|
else if (value <= inputArray[center])
|
||||||
res = rangeMax;
|
rangeMax = center-modulo;
|
||||||
break;
|
else
|
||||||
}
|
rangeMin = center+modulo;
|
||||||
else if (value == rangeMin){
|
|
||||||
res = rangeMin;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else if (value < inputArray[center])
|
|
||||||
rangeMax = center;
|
|
||||||
else if (value > inputArray[center])
|
|
||||||
rangeMin = center;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
@ -64,8 +56,12 @@ public class Aufgabe4 {
|
|||||||
int maxlength=maxLength(array);
|
int maxlength=maxLength(array);
|
||||||
System.out.print("P|");
|
System.out.print("P|");
|
||||||
for(int i=0; i<array.length;i++){
|
for(int i=0; i<array.length;i++){
|
||||||
if(i==center)
|
if(i==max&i==center)
|
||||||
System.out.print(fixedLengthString("C", maxlength, false));
|
System.out.print(fixedLengthString("C,<", maxlength, false));
|
||||||
|
else if(i==min&i==center)
|
||||||
|
System.out.print(fixedLengthString(">,C", maxlength, false));
|
||||||
|
else if(i==center)
|
||||||
|
System.out.print(fixedLengthString("C", maxlength, false));
|
||||||
else if(i==max)
|
else if(i==max)
|
||||||
System.out.print(fixedLengthString("<", maxlength, false));
|
System.out.print(fixedLengthString("<", maxlength, false));
|
||||||
else if(i==min)
|
else if(i==min)
|
||||||
@ -73,7 +69,7 @@ public class Aufgabe4 {
|
|||||||
else
|
else
|
||||||
System.out.print(fixedLengthString(" ", maxlength, false));
|
System.out.print(fixedLengthString(" ", maxlength, false));
|
||||||
}
|
}
|
||||||
System.out.println(" MOD: "+modulo);
|
System.out.println("center: "+center+" MOD: "+modulo+" min: "+min+" max:"+max);
|
||||||
}
|
}
|
||||||
public static String fixedLengthString(String string, int length){
|
public static String fixedLengthString(String string, int length){
|
||||||
return fixedLengthString( string, length, true);
|
return fixedLengthString( string, length, true);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user