自己写的一个渊子赛马算法,感觉代码还是很冗余,还有就是排序算法用的是最简单的选择排序,大鸟们有没有更好的算法。
package yuan_zi_sai_ma;
import share.*;
//算法题 渊子赛马 运用排序、归并、贪心
public class SaiMa {
// exchange ex = new exchange();
int i,j,k,n,temp;
public int Compare(int[]a,int[]b ){
minSort(a);
minSort(b);
k = a.length - 1;
n = 0;
for(i = a.length - 1 ; i >= 0; i--){
for(j = k;j >= 0 ; j--){
if(a[i] > b[j] ){
k = j;
n++;
break;
}
}
}
return n;
}
//选择排序
static void minSort(int[]a){
int i,j,temp;
int selected = 0;
for(i = 0; i<a.length ; i++){
selected = i;
for(j = i+1;j <a.length;j++)
{
if(a[j] < a[selected]){
selected = j;
}
}
temp = a[selected];
a[selected] = a[i];
a[i] = temp;
}
}
}
package share
package share;
public class exchange {
int temp = 0;
public exchange(int a,int b){
temp = b;
b = a;
a = temp;
}
}