41.寻扎第K大

41.寻扎第K大

题目描述

有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。

给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。

输入

[1,3,5,2,2],5,3

返回值

2

分析

1.用集合来解决此问题

代码实现

   import java.util.*;
    
    public class Solution {
     public  int findKth(int[] a, int n, int K) {
    		ArrayList<Integer> list = new ArrayList<>();
    		for (int i = 0; i < a.length; i++) {
    				list.add(a[i]);
    		}
    		Collections.sort(list);
    		int index = list.size()-1;
    		while(K>1) {
    			int temp = list.get(index);
    			index--;
    			while(list.get(index)==temp) {
    				index--;
    			}
    				K--;
    		}
    		return  list.get(index);
    
    	}
    }

上一篇:影像组学视频学习笔记(41)-如何使用软件提取组学特征、Li‘s have a solution and plan.


下一篇:2021.6.1.20:41