zoukankan      html  css  js  c++  java
  • 数组中的第K个最大元素 【数组专题】

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

    示例 1:

    输入: [3,2,1,5,6,4] 和 k = 2
    输出: 5
    示例 2:

    输入: [3,2,3,1,2,4,5,5,6] 和 k = 4
    输出: 4


    错误代码:

    class Solution {
    public:
        int findKthLargest(vector<int>& nums, int k) {
         for(int i = 0; i < nums.size(); i++){  // 排序轮数
          for(int j = 0; j < nums.size() - i - 1; j++) { // 各轮数的排序次数
               if(nums[j] < nums[j + 1]) {
                 swap(nums[j],nums[j+1]);
               }
         }
        }
          return nums[k -1];
        }
    };

    正确代码:

     1 class Solution {
     2 public:
     3     int findKthLargest(vector<int>& nums, int k) {
     4      for(int i = 0; i < nums.size()-1; i++){  // 排序轮数
     5       for(int j = 0; j < nums.size() - i - 1; j++) { // 各轮数的排序次数
     6            if(nums[j] < nums[j + 1]) {
     7              swap(nums[j],nums[j+1]);
     8            }
     9      }
    10     }
    11       return nums[k -1];
    12     }
    13 };

    最开始就是排序的轮次没有减1,所以报错为超出时间限制。

  • 相关阅读:
    [Postman]历史(8)
    [Postman]响应(7)
    [Postman]请求(6)
    [Postman]查找替换(5)
    ORA-02050故障诊断一例
    转 js实践篇:例外处理Try{}catch(e){}
    转 PHP
    HTML DOM getElementById() 方法
    地点选择
    9i 和 11 g 区别
  • 原文地址:https://www.cnblogs.com/YXBLOGXYY/p/14269058.html
Copyright © 2011-2022 走看看