public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int h[] = new int[n];
for (int i = 0; i < n; i++) {
h[i] = sc.nextInt();
}
//数组部分降序
//方法一: 比较器
Integer a[] = new Integer[n];
for (int i = 0; i < n; i++) {
a[i] = new Integer(h[i]);
}
//这里只有引用类型Integer[]才能用比较器
//将0到k-1排序
Arrays.sort(a, 0, k, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
});
for (int i = 0; i < n; i++) {
h[i] = a[i].intValue();
}
//方法二:升序后双指针转换
Arrays.sort(h,0,k);
for(int i = 0,j = k-1; i < j; i++,j--){
int temp = h[i];
h[i] = h[j];
h[j] = temp;
}
}
07-19
986
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交