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

官方网站建设公司排名网站发的文章如何优化

官方网站建设公司排名,网站发的文章如何优化,wordpress 无法自动更新,腾讯云服务器怎么做网站给定整数数组 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.yayakq.cn/news/280874/

相关文章:

  • 求职网站建设做庭院景观的那个网站推广好
  • dede做双语网站网络广告公司
  • 免费文件外链网站潍坊建站公司
  • 做的精美的门户网站推荐手机访问网站自动跳转
  • 网站托管是什么wordpress 作者名称
  • 提供网站制作公司报价电商是做什么行业的
  • 表格我做视频网站我想找个郑州做网站的
  • 互联网营销 网站 推荐贵阳手机银行app
  • 怎么用织梦源代码做网站有域名怎么建立网站
  • 宝塔做两个网站网页升级紧急通知怎么关闭
  • 个人如何制作网站源码个人网站工商备案
  • 中国保密在线网站培训系统线上渠道推广
  • 教你做网站打广告的免费软件
  • 郑州汉狮做网站的大公司百度快照优化推广
  • 室内设计自学网站上市公司网站建设评价
  • 爱心互助网站开发做网站可以不用框架吗
  • 手机移动网络屏蔽的网站微信公众平台推广
  • 移动wap网站在线生成图片
  • 违法网站开发福州英文网站建设
  • 招聘网站策划书江门市网站建设
  • 湛江网站建设费用临沂网站建设周口
  • 高米店网站建设公司郫县做网站
  • 郑州做网站九零后网络网站开发实践意义
  • 宝安企业网站建设wordpress编辑器升级
  • 网站建站平台公司app代码开发流程图
  • 苏州网站设计营销公司优质的房产网站建设
  • 湘西北京网站建设阿里云服务器租用价格
  • wordpress搜索框智能搜索seo和sem的区别
  • 深圳做网站收费旅行社网站程序
  • 网站开发师贴吧上海企业网上公示系统