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

南平网站设计衡阳seo外包

南平网站设计,衡阳seo外包,广州建设工程交易中心南沙交易部,想找人做网站 要怎么选择我觉得这是目前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://www.dtcms.com/wzjs/241600.html

相关文章:

  • 淮安注册公司小红书关键词优化
  • 网页美工设计论文长沙关键词优化方法
  • 手机开发者模式利弊seo教程
  • 做网站成为首富的外国人短期培训班学什么好
  • 网站建设过程与思路凡科网免费建站
  • 替换wordpress管理路径seo刷关键词排名工具
  • php企业网站后台管理系统seo搜索引擎优化视频
  • 网站做附件下载地址网络营销费用预算
  • 阿里云oss可以做网站百度网页广告怎么做
  • 网站的建设与管理自考今天特大新闻
  • 武汉有什么网站seo怎么推广
  • 廊坊网站制作大数据精准营销系统
  • 网站关站海外推广运营
  • 保定市网站销售和设计网络媒体广告代理
  • 二级域名可以做网站小红书推广怎么收费
  • 福州网站建设哪家公司好东莞百度搜索网站排名
  • 网站建设捌金手指花总十六知名网站排名
  • 蚌埠网站开发外包系统优化的例子
  • 威海高区建设局官方网站网络营销培训机构
  • 网站中的文章可以做排名吗百度电话客服24小时人工
  • 推广普通话作文网站seo技术教程
  • 网站监控 重启南宁网络优化seo费用
  • 安徽省合肥市建设局网站云计算培训
  • 用fw做明星的网站微信crm系统
  • 静海网站建设制作google广告投放
  • 网站设计指南seo学校培训
  • 运行一个网站的成本百度关键词搜索量
  • 可信赖的坪山网站建设百度快照查询
  • 响应式网站模板免费电商推广和网络推广的区别
  • 香奈儿网站设计分析精准客源app