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,所以报错为超出时间限制。

  • 相关阅读:
    学习之路
    cordova配置icon和splash
    cardova-android打包
    数组元素最大差值的问题
    病毒攻击
    STL模板中List
    Direct3D API函数
    Direct3D雾化效果浅析
    Direct3D中顶点声明格式
    DirectX9.0 Direct3D Graphics Pipeline 总结
  • 原文地址:https://www.cnblogs.com/YXBLOGXYY/p/14269058.html
Copyright © 2011-2022 走看看