首页 > 其他分享 >数组中的第K个最大元素

数组中的第K个最大元素

时间:2022-09-27 10:56:54浏览次数:51  
标签:最大 nums int arrayList 元素 数组 public

题目描述:

给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。

请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

思路:

首先遍历数组元素,找到最大值索引,然后根据k的取值,将其删除,也就是所,如果k为2,就是将第一个最大元素删除,返回第二个最大元素;k为3,将其前三个最大元素删除,返回第四个最大元素

import java.util.ArrayList;
import java.util.Arrays;

public class findKthLargest {
    public static void main(String[] args){
        int[] nums = {3,2,3,1,2,4,5,5,6};
        findKthLargest f = new findKthLargest();
        System.out.println(f.fun(nums,4));


    }
    public int  fun(int[] nums,int k){
        ArrayList<Integer> arrayList = new ArrayList<>();

        int nums_length = nums.length;
        for(int i = 0; i < nums_length; i++){
            arrayList.add(nums[i]);
        }

        for(int i = 1;i < k;i++){
            int index = arrayList.indexOf(getMax(arrayList));
            arrayList.remove(arrayList.get(index));
        }
        return getMax(arrayList);
    }

    public int getMax(ArrayList<Integer> arrayList){
        int max = arrayList.get(0);
        for(int i = 0;i<arrayList.size();i++){
            if(arrayList.get(i) > max){
                max = arrayList.get(i);
            }
        }
        return max;
    }
}

 

标签:最大,nums,int,arrayList,元素,数组,public
From: https://www.cnblogs.com/99kol/p/16733765.html

相关文章