活动安排

来源:互联网 发布: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]+" ");
  }
  

 }

}
 

原创粉丝点击