zoukankan      html  css  js  c++  java
  • LeetCode215-kth-largest-element-in-an-array

    第k 大的元素

    这题用递归出错了,划不来,一点都不好debug, 最重要的是抽线能力

    class Solution {
        public int findKthLargest(int[] nums, int k) {
            
            mergeSort(nums, 0, nums.length-1);
            int count = nums.length;
            return nums[count-k];
            
        }
          static public void mergeSort(int[] num, int left, int right){
            if(left<right) {
                int mid = (left + right) / 2;
                mergeSort(num,left,mid);
                mergeSort(num, mid + 1, right);
                mergeSort(num, left, mid, right);
            }
    
        }
    
        static public void mergeSort(int[] num, int left, int mid, int right){
            int[] sort = new int[num.length];
    
            int counter = left;
            int i = left;
            int j = mid+1;
            while(i <= mid && j <= right){
    
                if(num[i]>=num[j]){
                    sort[counter] = num[j];
                    j++;
                }else{
                    sort[counter] = num[i];
                    i++;
                }
                counter++;
            }
            while(i <= mid){
                sort[counter++] = num[i++];
            }
            while(j <= right){
                sort[counter++] = num[j++];
            }
    
            for(int k=left;k<=right;k++){
                num[k] = sort[k];
            }
    
        }
    
    }
    

      

  • 相关阅读:
    Flask--目录
    Linux相关目录
    Mac 提示错误”xcrun: error“
    subprocess模块
    压缩模块
    GitPython模块
    Ansible-ansible命令
    YAML语法
    Ansible-安装
    Ansible-概念
  • 原文地址:https://www.cnblogs.com/Jomini/p/11788791.html
Copyright © 2011-2022 走看看