C++ 实现:寻找降序排序数组前 30% 中最小的数

题目描述

给定一个随机数组,将其降序排序后,找到前 30% 中最小的数。

示例:

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

解题思路

  1. 将数组降序排序。
  2. 找到数组长度的前 30% 的位置。
  3. 返回该位置对应的值。

**时间复杂度:**O(nlogn)

**空间复杂度:**O(1)

C++ 代码

class Solution {
public:
    int findMin(vector<int>& nums) {
        sort(nums.begin(), nums.end(), greater<int>());
        int n = nums.size();
        int k = n * 0.3;
        return nums[k - 1];
    }
};
C++ 实现:寻找降序排序数组前 30% 中最小的数

原文地址: https://www.cveoy.top/t/topic/ouMk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录