算法导论-RandomHireAssistant

    技术2022-05-19  22

    import java.util.Random;

    public class RandomizedHireAssistant {  public static void main(String ars[]){   int[] candidate={1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1}; //  permuteBySort(candidate);   randomizeInPlace(candidate);   int best;   best=0;   for(int i=0;i<candidate.length;i++){    if(candidate[i]>candidate[best]){     best=i;    }   }   System.out.println(best);    /*  for(int i=0;i<candidate.length;i++){    System.out.print(candidate[i]+" ");   }*/   System.out.println();  }  public static void permuteBySort(int[] candidate){   int n,temp;   n=candidate.length;   Random random=new Random();   int[] p=new int[n];   for(int i=0;i<n;i++){    p[i]=random.nextInt(n*n*n);   }   /*for(int i=0;i<n;i++){    System.out.print(p[i]+" ");   }   System.out.println();*/   for(int i=n-1;i>=0;i--){    for(int j=0;j<i-1;j++){     if(p[j]>p[j+1]){      temp=candidate[j];      candidate[j]=candidate[j+1];      candidate[j+1]=temp;     }    }   } /*  for(int i=0;i<n;i++){    System.out.print(p[i]+" ");   }*/   System.out.println();  }  public static void randomizeInPlace(int[] candidate){   int temp,pivot;   Random random=new Random();   for(int i=0;i<candidate.length;i++){    pivot=random.nextInt(candidate.length-i)+i;    temp=candidate[i];    candidate[i]=candidate[pivot];    candidate[pivot]=temp;   }  }   }


    最新回复(0)