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

物流网站怎么开做律师网站

物流网站怎么开,做律师网站,济南网站优化小黑,品牌建设的最高境界是什么最近面试,发现要手撕算法加上机试,被完败,索性给自己立一个目标,一周训练2次。 第一题。 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 …

最近面试,发现要手撕算法加上机试,被完败,索性给自己立一个目标,一周训练2次。

第一题。

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。

算法的时间复杂度应该为 O(log (m+n)) 。

示例 1:

输入:nums1 = [1,3], nums2 = [2]
输出:2.00000
解释:合并数组 = [1,2,3] ,中位数 2

示例 2:

输入:nums1 = [1,2], nums2 = [3,4]
输出:2.50000
解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5

提示:

  • nums1.length == m
  • nums2.length == n
  • 0 <= m <= 1000
  • 0 <= n <= 1000
  • 1 <= m + n <= 2000
  • -10^6 <= nums1[i], nums2[i] <= 10^6

这题力扣第四题,我看着简单,内容还可以一下子接受.想了快三个小时。

double get_mid(int* nums,int numsSize)
{if(numsSize%2){return nums[numsSize/2];}else{return (nums[numsSize/2]+nums[(numsSize)/2-1])*1.0/2;}
}double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size) {if((nums1Size==0)&&(nums2Size==0)) return 0;else if((nums1Size==0)&&(nums2Size!=0)){return get_mid(nums2,nums2Size);}else if((nums2Size==0)&&(nums1Size!=0)){return get_mid(nums1,nums1Size);}else{if(nums1[nums1Size-1] <=nums2[0]){int len = nums1Size+nums2Size ;int mid_index = len /2;if(len % 2 ) // 长度是奇数{if(mid_index >= nums1Size){return nums2[nums2Size-mid_index-1];}else{return nums1[mid_index]*1.0;}}else  //长度是偶数{if(mid_index < nums1Size){return (nums1[mid_index]+nums1[mid_index-1])*1.0/2;}else if((mid_index) == nums1Size){return (nums1[nums1Size-1]+nums2[0])*1.0/2;}else{return (nums2[nums2Size-mid_index-1]+nums2[nums2Size-mid_index])*1.0/2;}}}else if(nums2[nums2Size-1] <=nums1[0]){int len = nums1Size+nums2Size ;int mid_index = len /2;if(len % 2 ) //长度是奇数{if(mid_index >= nums2Size){return nums1[nums1Size-mid_index-1];}else{return nums2[mid_index];}}else //长度是偶数{if(mid_index < nums2Size){return (nums2[mid_index]+nums2[mid_index-1])*1.0/2;}else if((mid_index) == nums2Size){return (nums1[0]+nums2[nums2Size-1])*1.0/2;}else{return (nums1[nums1Size-mid_index-1]+nums1[nums1Size-mid_index])*1.0/2;}}}else{int len = nums1Size+nums2Size ;int mid_index = len /2;int count =0;int _n1 = 0,_n2=0;int last=0,midv=0;while(true){if(_n1 == nums1Size) {midv=nums2[_n2];count++;if(count == mid_index+1){if(len%2){return midv*1.0;}else{return (last+midv)*1.0/2;} }_n2++;last = midv;}else if(_n2 == nums2Size) {midv=nums1[_n1];count++;if(count == mid_index+1){if(len%2){return midv*1.0;}else{return (last+midv)*1.0/2;} }_n1++;last = midv;}else{if(nums1[_n1] >= nums2[_n2]){midv = nums2[_n2];count++;if(count == mid_index+1){if(len%2){return midv*1.0;}else{return (last+midv)*1.0/2;}}_n2++;last = midv;}else{midv = nums1[_n1];count++;if(count == mid_index+1){if(len%2){return midv;}else{return (last+midv)*1.0/2;}}_n1++;last = midv;}}}}}}

写的很烂很长,就是没有做过算法题目的人的思维,用了很多特殊情况来提高运算速度,其实把最后一个else提取出来也可以进行运算。但不知道为什么内存消耗很高。

http://www.yayakq.cn/news/92498/

相关文章:

  • 阿里云t5做网站pc主页网站建设
  • 哪个网站免费做简历淮安市交通建设局网站
  • 宜昌建网站怎么做音乐mp3下载网站
  • saas是不是做网站《网页设计与网站建设》
  • 怎样解除拦截网站设置北京朝阳区邮政编码
  • 西安高新网站制作wordpress 文章页当前栏目链接
  • 做网站 怎么选择公司网店装修定制
  • 中疾控发布全国新冠感染情况seo白帽优化
  • 厦门营销网站制作wordpress导航菜单位置
  • 福建省住房和城乡建设部网站网站怎么做 凡科
  • 企业电子商务网站建设的最终目的asp网站空间
  • 信用卡在哪些网站上做推广用v9做网站优化
  • 门头沟青岛网站建设注册域名不建设网站
  • 接单做网页的网站我要建个人网站
  • 做网站用什么开发语言网站域名空间多少钱
  • 上海智能模板建站公司注册地址必须是商业用房吗
  • 成都手机wap网站制作吉安网站公司
  • 高端做网站哪家好完成网站建设成本
  • 营销型网站怎么建设用html5做的网站素材
  • 网站在线优化检测wordpress设置伪静态
  • 凡科网电脑版怎么做网站h5怎么弄到微信公众号
  • vps新建网站ideo设计公司官网
  • 女装网站建设计划书网站规划与建设论文
  • 手机网站微信支付接口开发教程wordpress incategory
  • 开网站建设公司心得网站说明怎么写
  • 做微信推送用什么网站比较好的网站开发公司电话
  • 网站开发招标任务书网站推广的手段
  • 郑州网站建设技术精粹福建凭祥建设工程有限公司网站
  • 广州有网站建设学校app开发公司怎么查看
  • 少林寺网站谁做的定制官网