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

长沙有做网站的吗淘宝官网首页入口电脑版网址

长沙有做网站的吗,淘宝官网首页入口电脑版网址,兼职网站建设收费,想学网站建设开发这道题是大厂面试的高频面试题,昨天面网易互娱的时候被问到了这道题,无论是手撕快速排序代码还是面试口头描述思路,我们都需要熟练掌握快速排序的写法,在面试中为了求稳,我们需要掌握最简单,最易记的一种实…


这道题是大厂面试的高频面试题,昨天面网易互娱的时候被问到了这道题,无论是手撕快速排序代码还是面试口头描述思路,我们都需要熟练掌握快速排序的写法,在面试中为了求稳,我们需要掌握最简单,最易记的一种实现方式,这里我推荐这个博主的快慢指针方法,通俗易懂,牢记这种方法,面试中更容易将快速排序写出来。
再回到本题,本题是需要求出数组中第K大的元素,因此我们并不需要将整个数组都进行快速排序,我们只需要将第K大的元素找出来即可,我们与视频中保持一致,使用升序排列。因此我们在进行过一轮快速排序后,直接判断枢轴所在的下标为多少,如果枢轴所在的下标恰好为nums.size() - K,则枢轴对应的元素恰好为数组中第K大的元素,我们直接将其赋值给result即可。若枢轴对应的下标大于nums.size() - K,那我们只需要对枢轴左侧的区间进行排序,右侧不需要管。若枢轴对应的下标小于nums.size() - K,那我们只需要对枢轴右侧的区间进行排序,左侧不需要管。
下面简单描述一下单次快速排序的过程:

  1. 对于待排序区间,我们将快指针fast和慢指针slow同时指向区间的第一个元素,枢轴指向区间的最后一个元素。
  2. fast指向的元素大于等于枢轴元素时,则fast向右移动一位,slow保持不动;当fast指向的元素小于枢轴元素时,则先交换slowfast指向的元素,再同时将fastslow右移一位。
  3. fast到达枢轴指向的元素时,循环结束,此时还需要交换slow和枢轴指向的元素,此时,slow指向的元素为枢轴,slow左侧的元素都小于nums[slow],右侧的元素都大于等于nums[slow],此时一轮排序结束。
    下面是对应的代码,但是程序耗时太长了,这真的叫快速排序吗😂我怎么觉得是慢速排序呢
class Solution {
public:int result;int findKthLargest(vector<int>& nums, int k) {quicksort(nums, 0, nums.size() - 1, k);return result;}void quicksort(vector<int>& nums, int begin, int end, int k){int pivot = nums[end];  //总是选取区间的最后一个元素作为枢轴int slow = begin, fast = begin;  //初始化快慢指针while(fast < end){if(nums[fast] >= pivot)  //快指针元素大于等于枢轴则快指针右移fast++;else{swap(nums[slow], nums[fast]);slow++;fast++;}}swap(nums[slow], nums[end]);   //交换慢指针与枢轴所指的元素if(slow > nums.size() - k)  //需要向左查找quicksort(nums, begin, slow - 1, k);else if(slow < nums.size() - k)  //需要向右查找quicksort(nums, slow + 1, end, k);else{   //找到第k大的元素了result = nums[slow];return ;}}
};

http://www.dtcms.com/a/510534.html

相关文章:

  • 网站建设代码好难啊怎么代理小程序游戏
  • iis网站筛选器被挂马泰安市星际网络科技有限公司
  • 兰州网站建设公司排名wordpress质感主题
  • 佛山做外贸网站特色可信赖的网站建设公司
  • 刷粉网站推广com域名续费多少钱
  • 做网站建设的合同范本dw软件使用教程
  • 张家港建网站迈若网站建设
  • 建站小二南昌定制网站开发多少钱
  • 常用的网站类型有哪些类型有哪些类型有哪些月亮花园wordpress
  • 网站宣传方式有哪些企业网站建设宣贯
  • 建设网站的意义 作用网站设计制作开发
  • 可植入代码网站开发山西中小学网站建设
  • 免费搭建网站的平台网站开发的背景知识和技术
  • 惠州外贸网站建设推广wordpress 附件 七牛
  • 网站制作的基本禁止国内ip访问 网站
  • 网站建设策划目的及过程上海网站开发前十名
  • 网站开发组合 lamp益阳网站建设企业
  • 上海高登联合建设网站免费搭建网站 优帮云
  • 不写编程可以做网站建设电子商务就业方向
  • 东莞做网站建设深圳宝安股票
  • 南昌网站建设58学python能干嘛
  • 长春网站设计平台湖北黄石市黄石市建设材料价格信息在哪个网站查询
  • 免费 搭建公司网站筑龙建筑资料网
  • 上海网站建设 网络推广软文推广怎么做
  • 做全网vip电影网站违法吗北京常见网站建设推荐
  • 购物网站最近浏览怎么做网站描述代码怎么写
  • 推广 高端网站设计wordpress使用html5
  • 网站域名申请流程wordpress编辑器添加商品
  • 网站建设完毕后怎么加后台企业网站托管和网站建设服务商
  • 酒店网站建设流程图淘宝官网首页网址