62,614
社区成员
发帖
与我相关
我的任务
分享
//stable 3/2*n
public static <T extends Comparable<? super T>> T[] getMinMax(T[] array)
{
T[] result = (T[]) Array.newInstance(array.getClass().getComponentType(), 2);
int length = array.length;
T min = array[0];
T max = array[0];
for (int i = ((length&0X1)==0?0:1); i < length; i = i+2)
{
T t1 = array[i];
T t2 = array[i+1];
if (t1.compareTo(t2)<0)
{
if(t1.compareTo(min)<0)
{
min=t1;
}
if(t2.compareTo(max)>0)
{
max=t2;
}
}
else
{
if(t1.compareTo(max)>0)
{
max=t1;
}
if(t2.compareTo(min)<0)
{
min=t2;
}
}
}
result[0] = min;
result[1] = max;
return result;
}
public static int[] g(int[] iarr) {
int a = iarr[0];
int b = iarr[iarr.length - 1];
if (a > b) {
a = b;
b = iarr[0];
}
for (int i = 1, il = iarr.length; i < il; i++) {
if (iarr[i] < a) {
a = iarr[i];
} else {
if (iarr[i] > b) {
b = iarr[i];
}
}
}
return new int[]{a, b};
}