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

做网站架构需要注意什么抛丸机网站怎么做

做网站架构需要注意什么,抛丸机网站怎么做,广州seo优化排名公司,成考和自考的区别你经过我每个灿烂时刻#xff0c;我才真正学会如你般自由 前些天有些无聊#xff0c;想试试自己写的快排能否过leetcode上的排序算法题。结果是#xff0c;不用截图可想而知#xff0c;肯定是没过的#xff0c;否则也不会有这篇文章的产出。 这份快排算法代码… 你经过我每个灿烂时刻我才真正学会如你般自由  前些天有些无聊想试试自己写的快排能否过leetcode上的排序算法题。结果是不用截图可想而知肯定是没过的否则也不会有这篇文章的产出。 这份快排算法代码在面对大量重复数的时候时间复杂度会下降到O(n^2)这也是为什么leetcode显示最后会超时。所以如何解决呢也许在此之前可以先回顾回顾快排三步核心算法步骤。 ——前言 快排的三个核心算法 ● HOARE版 这是最早的版本也叫做左右指针法。不过这个算法需要值得注意的是一个地方。排升序时一定是需要右指针先动相反如果是排降序则是左指针先动。         int PartSort1(vectorint nums, int l, int r) {// 左右指针法int key nums[l];int left l;int right r;while (left right){// 这里需要注意取等 // 如果不取等可能陷入死循环while (left right nums[right] key){right--;}while (left right nums[left] key){left;}if (left right) {swap(nums[left], nums[right]);}}// 处理keyiswap(nums[left], nums[l]);return left; } 我们对上述例子进行排序后的代码为: ● 挖坑法 int PartSort2(vectorint nums, int l, int r) {int key nums[l];int hole l;int left l, right r;while (left right){// 右边找小 填左坑while (left right nums[right] key){right--;}// 填坑swap(nums[right], nums[hole]);hole right; // 新坑while (left right nums[left] key){left;}swap(nums[left], nums[hole]);hole left; // 新坑}// hole即为最终落脚点return hole; } ● 前后指针法 最后的前后指针法也在前言中用到这里不做多的解释。 int PartSort3(vectorint nums, int l, int r) {int key nums[l];int prev l, cur l 1;while (cur r){// 找小if (nums[cur] key prev ! cur){// prev指向的一定是比key大的数swap(nums[prev], nums[cur]);}cur;}swap(nums[prev], nums[l]);return prev; } 快速选择排序 可是你使用上述的不管哪种算法都无法跑过leetcode上面的题都会在重复数的情况下超时这里我们可以用到归并分治的思想如果将一个无序数组排序成有序数组选定其中一个数作为key可以将这个数组分为三部分: int getRandom(vectorint nums, int l, int r){int keyi rand();return nums[keyi % (r-l1) l];} void qsort(vectorint nums, int l, int r){if(l r){int key getRandom(nums,l,r);// 数组分三块// 先让left、right指向非法区域int i l,left l-1,right r1;// [i,right]是未处理区域while(i right){if(nums[i] key) swap(nums[left],nums[i]);else if(nums[i] key) i;else swap(nums[--right],nums[i]);}// 递归处理其他区间qsort(nums,l,left);qsort(nums,right,r);}} 我们终于是可以通过啦~ 本篇到此结束感谢你的阅读。 祝你好运向阳而生~
http://www.w-s-a.com/news/720335/

相关文章:

  • 网站如何做移动规则适配北京住房与城乡建设部网站
  • 课堂阵地建设网站wordpress运行机制
  • 网站建设的需求方案企业网站建设费用明细
  • 创口贴网站模板京创影视app
  • 团购网站建设目的网站有很多304状态码
  • 运用阿里云怎么做网站外资企业可以在中国境内做网站吗
  • 云南住房和城乡建设局网站西安做官网的公司
  • 企业网站图片上传网站建设和应用的情况
  • 网站不显示内容吗聊城网架公司
  • 南昌网站建设企业网站托管外包怎么做
  • 做非洲外贸的网站网站可以用PS设计吗
  • PHP搭建IDC网站青岛福瀛建设集团网站
  • 安徽网站优化多少钱软件界面设计的基本原则
  • 网站建设动态页面修改删除dnf卖飞机的网站怎么做的
  • 万网是做什么的seo综合
  • 网站关键词分隔符php网站开发平台下载
  • 郑州那家做网站便宜商业计划书免费word版
  • 秦时明月的个人网站怎么做网站开发公司需要招聘哪些人
  • 广告网站建设制作设计服务商安卓app软件定制
  • 公司网站设计与实现中国职业培训在线官方网站
  • 网站服务器空间租用郑州官网网站推广优化
  • 郑州网站建设外包业务wordpress站酷首页
  • 机关门户网站 建设 方案个人怎么申请注册商标
  • 梧州网站建设有哪些九江网站建设优化
  • APP网站建设开发企业发展英文seo招聘
  • 临海市住房和城乡建设规划局网站高校图书馆网站的建设方案
  • 建立门户网站张店易宝网站建设
  • wordpress中英文站点厦门seo顾问屈兴东
  • 邯郸网站建设项目重庆网站备案系统
  • 网站导航容易做黄冈网站建设报价