C++ 实现:寻找降序排序数组前 30% 中最小的数
C++ 实现:寻找降序排序数组前 30% 中最小的数
题目描述
给定一个随机数组,将其降序排序后,找到前 30% 中最小的数。
示例:
输入: [3, 2, 1, 5, 6, 4] 输出: 2
解题思路
- 将数组降序排序。
- 找到数组长度的前 30% 的位置。
- 返回该位置对应的值。
**时间复杂度:**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];
}
};
原文地址: https://www.cveoy.top/t/topic/ouMk 著作权归作者所有。请勿转载和采集!