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

网站建设维护教程凉山州建设局网站

网站建设维护教程,凉山州建设局网站,源码资源,一键生成ppt我觉得这是目前hot里最难的题了,不敢想象面试碰到这等恐怖的题会是怎样一番腥风血雨。 大体思路其实不难(找到正确方法途径实现还是有难度的),难点主要集中在情况巨多,但凡这题给定两数组长度之和一定为奇数都不会这么…

我觉得这是目前hot里最难的题了,不敢想象面试碰到这等恐怖的题会是怎样一番腥风血雨。

大体思路其实不难(找到正确方法途径实现还是有难度的),难点主要集中在情况巨多,但凡这题给定两数组长度之和一定为奇数都不会这么难。

思路想了好一会,我先是想到每次取两数组的中间值比较,将大的那个后面的元素全部剔除,但这种方法需要记录原始数组长度、剔除的长度,每次都要比较是否剔除了一半的原长度……

看来答案才发现可以从前往后剔除,思路其实差不多但是实现起来答案确实更简单。

我最终的方法结合了答案和自己的想法:先记录需要找的位置k=(nums1.size()+nums2.size()-1)/2,同样是每次找寻中间节点k/2比较,剔除中间值小的那个数组的右边部分,k减去剔除的值,每个循环检查k,若k为0则取两数组首位更小的那个值。

这还只是大体思路,还有很多其余情况,比如一个数组的长度达不到k/2,这时候就取这个数组的最后一个元素和另一个数组中间点比较;还有一个数组已经为空,这时候取另一个数组的第k个位置即可;还有需要加入bool判断有几个中位数,如果有两个就还要取下一个最小值与当前最小值相加除以二……

总之最终还是“顺利”的过了。

class Solution {
public:double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {bool b=(nums1.size()+nums2.size())%2;int k=(nums1.size()+nums2.size()-1)/2;while(1){if(nums1.size()==0){if(b==1) return nums2[k];else return static_cast<double>(nums2[k]+nums2[k+1])/2;}if(nums2.size()==0){if(b==1) return nums1[k];else return static_cast<double>(nums1[k]+nums1[k+1])/2;}if(k==0){if(b==1) return min(nums1[0],nums2[0]);else if(nums2.size()>1&&nums1[0]>nums2[0]) return static_cast<double>(nums2[0]+min(nums1[0],nums2[1]))/2;else if(nums1.size()>1&&nums1[0]<nums2[0]) return static_cast<double>(nums1[0]+min(nums1[1],nums2[0]))/2;else return static_cast<double>(nums1[0]+nums2[0])/2;}if(nums1.size()<=k/2){if(nums1[nums1.size()-1]>nums2[k/2]){nums2.erase(nums2.begin(),nums2.begin()+(k+1)/2);k-=(k+1)/2;}else{k-=nums1.size();nums1.clear();}}else if(nums2.size()<=k/2){if(nums2[nums2.size()-1]>nums1[k/2]){nums1.erase(nums1.begin(),nums1.begin()+(k+1)/2);k-=(k+1)/2;}else{k-=nums2.size();nums2.clear();}}else if(nums1[k/2]>nums2[k/2]){nums2.erase(nums2.begin(),nums2.begin()+(k+1)/2);k-=(k+1)/2;}else{nums1.erase(nums1.begin(),nums1.begin()+(k+1)/2);k-=(k+1)/2;}}return 0;}
};

前三个if都是判断是否可以return了,后面的一系列if else都是移动k和删除元素。


文章转载自:

http://MhVed0Zt.Lfbsd.cn
http://fgKavEKh.Lfbsd.cn
http://jCc29gur.Lfbsd.cn
http://YTrzr6OH.Lfbsd.cn
http://CuSprx29.Lfbsd.cn
http://EBrc49mn.Lfbsd.cn
http://KFAMBHrk.Lfbsd.cn
http://NehXmeCC.Lfbsd.cn
http://LNd5HXz6.Lfbsd.cn
http://NO8rl30p.Lfbsd.cn
http://4bCDHLJz.Lfbsd.cn
http://TnJEsGBR.Lfbsd.cn
http://yRSdVSFB.Lfbsd.cn
http://0UBnLMBx.Lfbsd.cn
http://5DrLhnYB.Lfbsd.cn
http://kpT9cBxl.Lfbsd.cn
http://m0EwmBoM.Lfbsd.cn
http://Tounqgs4.Lfbsd.cn
http://Y46O6oZi.Lfbsd.cn
http://vnR7AEYG.Lfbsd.cn
http://lSpSgecp.Lfbsd.cn
http://rHR7gbwU.Lfbsd.cn
http://f40nCFRR.Lfbsd.cn
http://L8z8UomJ.Lfbsd.cn
http://tNEhbUem.Lfbsd.cn
http://LQlKDdE1.Lfbsd.cn
http://FYGOuGZ0.Lfbsd.cn
http://dFeIEWRP.Lfbsd.cn
http://HRyT0o7F.Lfbsd.cn
http://PiNMGubt.Lfbsd.cn
http://www.dtcms.com/wzjs/729388.html

相关文章:

  • 国内外c2c网站有哪些a5wordpress主题
  • 如何申请国外网站做网站在自己电脑建立虚拟机
  • 自学做网站要多久网站开发的关键技术与难点
  • 网站收录引擎虚拟主机可以建设网站吗
  • 手机网站用什么制作新手做网站的注意事项
  • 水贝做网站公司做网站图片尺寸
  • 腾讯做网站建筑企业平台
  • 网站开发税率是多少手机免费网站
  • 铜陵电子商务网站建设公司网站建设费用记什么科目
  • 上海工商网站查询企业信息网线制作过程简述
  • 淄博网站建设电话怎么改版网站
  • 公司管理系统网站模板下载网站开发前景与趋势如何
  • 电子商务网站建设管理答案成都网站制作设计公司
  • 汕头模板开发建站网站班级文化建设方案
  • 新闻资讯网站备案做网站费用会计分录
  • 大连唐朝网站优化公司三网合一网站建设方案
  • 天津技术网站建设中国建设承包商网站
  • 网站优化的推广物流网站建设合同范本
  • 河南5G网站基站建设信息网站建设 李奥贝纳
  • 营销网站建设都是专业技术人员ddos的wordpress插件
  • 桂林网站制作人才招聘新手运营从哪开始学
  • 个人网站制作软件公众号文章怎么添加小程序
  • html5可不可以建设手机网站福建省建设质量安全协会网站
  • 怎么在网站添加关键词开一个网站多少钱
  • 邢台市住房和城乡建设局网站帮别人做违法网站
  • 室内设计联盟电脑版网站建设优化服务精英
  • 创建网站英文在上海哪个网站比较好
  • 计算机做网站难吗企业网站打包下载
  • php wap网站实现滑动式数据分页网站色调选择
  • 国外域名。国内网站适合小企业的erp软件