活动安排

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]+" ");
  }
  

 }

}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值