LeetCode刷题2

今天刷的题是LeetCode上215题。该题的要求是给定一个数组,找出数组中第k大的数。

我的方法是首先对数据进行排序,这里选择插入排序。插入排序中,我犯了个错误,就是重新申请了一个数组。然后总是有些问题。后头又认真看啦看插入排序的实现方式。

具体代码如下:

class Solution {
    public int findKthLargest(int[] nums, int k) {
        int result;
        int length=nums.length;
        if (length==1){
            result=nums[0];
        }else{
            for (int i = 1; i <length ; i++) {
                int j=i-1;
                int num=nums[i];
                for (; j >=0 ; j--) {
                    if (nums[j]>num){
                        nums[j+1]=nums[j];
                    }else {
                        break;
                    }
                }
                nums[j+1]=num;
            }
            result=nums[length-k];
        }
        return result;
    }
}

猜你喜欢

转载自www.cnblogs.com/cquer-xjtuer-lys/p/11301457.html
今日推荐