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

年前做网站的好处网站建设佰首选金手指三

年前做网站的好处,网站建设佰首选金手指三,h5手机网站怎么做,广州公司建站模板你经过我每个灿烂时刻#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.pierceye.com/news/134857/

相关文章:

  • 搜狗整站优化广州市网站建站
  • 最方便建立网站北京定制网络营销收费
  • 烟台放心的一站式网站建设桐梓网站建设
  • 如何高效的完成网站建设步骤美食分享网站建设策划书
  • 建立网站的软件网站建设数据库的购买
  • 建网站需要多大的宽带wordpress 分享后可见
  • 自建营销型企业网站阿里网 网站备案流程
  • 与网站建设相关的论文题目wordpress图片上文字
  • 怎样搭建网站视频教程58企业网站如何做
  • 比较有名的网站建设公司wordpress 字数
  • 网站内容资源建设渭南市建设项目
  • 网站设置的参数wordpress弹窗登录注册
  • 网课系统软件网站建设费用网站做vr的收费
  • 海宁做网站的公司seo怎么学在哪里学
  • 佛山做网站多少钱服务器学生
  • 自己建网站卖东西怎么进入wordpress修改界面
  • 网站建设与制作报价wordpress菜单怎么设置目录册
  • 学生免费建设网站建设网站是否等于开展网络营销
  • 旅游网站结构图网站编程图
  • 达内网站开发培训价格安装百度到手机桌面
  • 网站服务器慢建站设计网站
  • wordpress 多站点 插件怎么做网站主页设计
  • 网站建设初稿wordpress删除自豪的
  • 某网站突然不能浏览了网站不备案能用吗
  • 厦门做个网站多少钱360建筑网官网下载
  • 镇江外贸网站建设电子工程王粟
  • 申请网站建设经费wordpress做商城网站
  • google下载app西安分类信息seo公司
  • 淘宝是什么语言做的网站手机网站开发+手机模拟器
  • 视频网站开发框架小说类网站功能建设