博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode 4. Median of Two Sorted Arrays
阅读量:6096 次
发布时间:2019-06-20

本文共 1255 字,大约阅读时间需要 4 分钟。

1 class Solution { 2 public: 3     #include
4 int get_kth_val(vector
& nums1, vector
& nums2,int l1,int l2,int k){ 5 6 int L1=nums1.size()-l1,L2=nums2.size()-l2; 7 if(L1>L2) return get_kth_val(nums2,nums1,l2,l1,k); 8 if(L1==0) return nums2[l2+k-1]; 9 if(k==1) return min(nums1[l1],nums2[l2]);10 int ka=min(L1,k/2);11 int kb=k-ka;12 if(nums1[l1+ka-1] == nums2[l2+kb-1]) return nums1[l1+ka-1];13 if(nums1[l1+ka-1] > nums2[l2+kb-1]) return get_kth_val(nums1,nums2,l1,l2+kb,k-kb);14 else return get_kth_val(nums1,nums2,l1+ka,l2,k-ka);15 }16 double findMedianSortedArrays(vector
& nums1, vector
& nums2) {17 int L1=nums1.size(),L2=nums2.size();18 /*19 5->第3个和第3个20 6->第3个和第4个21 找到第(L1+L2+2)/2个和第(L1+L2+1)/2个22 23 查找第k个元素:24 条件:A,B,B为长数组25 ka=min(Len(A),k/2),kb=k-ka26 若A[ka]==B[kb],则A[ka]为所求值27 若A[ka] >B[kb],说明比B[kb]小的个数一定小于kb-1+ka-1,28 即B[0...kb]是可以舍去的,进而求B[kb+1,...],A[0,...]的第k-kb个值29 若A[ka]

 

转载于:https://www.cnblogs.com/ximelon/p/10763497.html

你可能感兴趣的文章
java注解【转】
查看>>
Oracle表分区
查看>>
centos 下安装g++
查看>>
嵌入式,代码调试----GDB扫盲
查看>>
类斐波那契数列的奇妙性质
查看>>
配置设置[Django]引入模版之后报错Requested setting TEMPLATE_DEBUG, but settings are not configured....
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
Wait Functions
查看>>
代码描述10313 - Pay the Price
查看>>
jQuery最佳实践
查看>>
centos64i386下apache 403没有权限访问。
查看>>
vb sendmessage 详解1
查看>>
jquery用法大全
查看>>
Groonga 3.0.8 发布,全文搜索引擎
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
网卡驱动程序之框架(一)
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush
查看>>