活动安排
来源:互联网 发布:centos 7 部署elk 编辑:程序博客网 时间:2024/04/30 12:58
import java.util.Scanner;
public class Schedule {
/**
* @param args
*/
public static int partition(int[] r, int low, int high) {
int pivotkey = r[low];
while (low < high) {
while (low < high && r[high] >= pivotkey)
high--;
r[low] = r[high];
while (low < high && r[low] <= pivotkey)
low++;
r[high] = r[low];
}
r[low]=pivotkey;
return low;
}
public static void QSort(int[] r, int low, int high) {
if (low < high) {
int pos = partition(r, low, high);
QSort(r, low, pos - 1);
QSort(r, pos + 1, high);
}
}
public static int greedySelector(int[] s,int []f , boolean []a){
//public static boolean[]a={false};
int n=s.length-1;
int j=1;
a[0]=true;
int count=1;
for(int i=1;i<n-1;i++){
if(s[i]>=f[i]){
a[i]=true;
j=i;
count++;
}
else a[i]=false;
}
return count;
}
public static void main(String[] args) {
int s[]={1,3,0,5,3,5,6,8,8,2,12};
int f[]={4,5,6,7,8,9,10,11,12,13,14};
boolean a[]={false};
QSort(f,0,f.length-1);
System.out.println("最多的活动数为"+greedySelector(s,f,a));
for(int k=0;k<f.length;k++){
System.out.print(a[k]+" ");
}
}
}