当前位置: 首页 > news >正文

看优秀摄影做品的网站html网页制作

看优秀摄影做品的网站,html网页制作,企业网站手机版模板,站长之家网站建设给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 思路:最开始排序算法&…

给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。

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

你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。

思路:最开始排序算法,弄完之后直接按照要求选择,可惜题目对时间复杂度有要求,只能上快排,但是快排并不是直接满足,还需要在基础上优化。快排采取分治的思想,正常递归需要子串都进行排序,最后合并,但是找出结果有个便利的点就是可以判断在那个串里面,选择性的进行快排来加速。

#include <iostream>
#include <vector>using namespace std;
//选择排序
// class Solution {
// public:
//     int findKthLargest(vector<int>& nums, int k) {
//         for (int i = 0; i < nums.size(); i++){
//             int min_index = i; // 记录最小值的索引
//             for (int j = i; j < nums.size(); j++){
//                 if (nums[j] < nums[min_index]){
//                     min_index = j;
//                 }
//             }
//             swap(nums[min_index], nums[i]);
//         }
//         return nums[nums.size() - k];
//     }
// };class Solution {
public:int aparthSort(vector<int>& nums, int left, int right){int i = left, j = right;int pivot = nums[left];while (i < j) {while (i < j) {if (nums[j] < pivot) {nums[i] = nums[j];i++;break;}else j--;}while (i < j) {if (nums[i] > pivot) {nums[j] = nums[i];j--;break;}elsei++;}}nums[i] = pivot;return i;}int sort (vector<int>& nums, int left, int right, int k) {int mid;if (left < right){mid = aparthSort(nums, left, right);if (mid == nums.size() - k) return nums[mid];else if (mid > nums.size() - k) return sort(nums, left, mid - 1, k);else return sort(nums, mid + 1, right, k);}else    return nums[nums.size() - k];}int findKthLargest(vector<int>& nums, int k) {int res =  sort(nums, 0, nums.size() - 1, k);return res;}
};int main(){Solution s;vector<int> nums = {3,2,1,5,6,4};// vector<int> nums = {1};int k = 4;cout << s.findKthLargest(nums, k) << endl;for (int i = 0; i < nums.size(); i++){cout << nums[i] << " ";}return 0;
}

http://www.hengruixuexiao.com/news/30470.html

相关文章:

  • 海口建站价格如何建立自己的网站
  • 江都城乡建设局网站域名注册服务网站查询
  • 泵阀网站建设收录情况
  • 技术支持 广州骏域网站建设专家大同优化推广
  • 西昌市做网站的公司百度sem是什么
  • 网站快照不更新原因网站cms
  • 做推广自己找网站数据分析师培训需要多少钱
  • 咸阳市网站建设引擎搜索大全
  • 广阳区建设局网站网络营销案例题
  • 河北怎样做网站网络最有效的推广方法
  • 网站 建设 方案汽车网站建设方案
  • 免费3d动画制作软件长春seo关键词排名
  • 青岛企业网站建设石家庄高级seo经理
  • wordpress装机主题seoul
  • 商业网站教程seo搜索引擎工具
  • seo网站建设教程949公社招聘信息
  • dede二手车网站源码苏州seo招聘
  • 连云港做网站企业网站快速收录入口
  • 自己做的网站怎么在百度上搜到怎样开网站
  • lnmp 安装wordpress百度官方优化指南
  • java网站留言板怎么做百度推广账号注册
  • 武汉免费建设网站平台软文台
  • 做网站是干什么用的企业网络营销策略
  • 学校网站系统破解版刷赞业务推广网站
  • 佛山优化公司推广南宁网站seo大概多少钱
  • 有口碑的大连网站建设天津搜狗seo推广
  • 做app网站公司做网页怎么做
  • 做美食教程的网站有哪些googleplay官网
  • 购物网站促销方案四川seo快速排名
  • 网站建设文化策划bt搜索引擎下载