package com.wonders;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
*
* @author LYY
* 题目:设有一组N个数,求其中第K个最大者(选择问题)
* 思路:将数组放到List中,然后调用sort进行排序,在反转,最后只需要判断传进来的位置参数-1和循环的集合元素下标相等就可以。
*/
public class P1 {
public static void main(String[] args) {
Integer[] number = {3,2,1,43,6,7,8,94,34,54};
int location = P1.retunLocation(number,3);
System.out.println("第K个最大者是:" + location);
}
public static int retunLocation(Integer[] number,int num){
List<Integer> list = new ArrayList<Integer>();
int location = 0;
for (Integer integer : number) {
list.add(integer);
}
Collections.sort(list);
Collections.reverse(list);
for(int i=0;i<list.size();i++){
if ((num-1) == i) {
location = list.get(i);
}
}
return location;
}
}