No.60 - LeetCode4 - 两个排序数组找第K位数 - 很难
发布日期:2021-07-28 02:54:29 浏览次数:15 分类:技术文章

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

getKth函数是个模版,值得珍藏

class Solution {public:    int getKth(int A[],int a,int B[],int b,int k){        if(a > b) return getKth(B,b,A,a,k); // 始终保持A比B短,保证a先为0        if(a==0) return B[k-1]; // 返回b的第k个        if(k==1) return min(A[0],B[0]); // 返回上中位数        int amid = min(a,k/2), bmid = min(b,k/2);        if(A[amid-1] < B[amid-1]) return getKth(A+amid,a-amid,B,b,k-amid);        else return getKth(A,a,B+bmid,b-bmid,k-bmid);    }    double findMedianSortedArrays(vector
& nums1, vector
& nums2) { int N = nums1.size(); int M = nums2.size(); int L = (N + M + 1)>>1; // 上中位数第L个 int R = (N + M + 2)>>1; // 下中位数第R个 // 保证没有空指针 if(N == 0 && M == 0) return 0; if(N == 0) return (nums2[L-1]+nums2[R-1])/2.0; if(M == 0) return (nums1[L-1]+nums1[R-1])/2.0; return (getKth(&nums1[0],N,&nums2[0],M,L)+getKth(&nums1[0],N,&nums2[0],M,R))/2.0; }};

转载地址:https://blog.csdn.net/ShellDawn/article/details/99618614 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:No.61 - LeetCode62
下一篇:No.59 - LeetCode1140 - 动态规划 - 很难

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月15日 18时39分04秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

弹框没反应使用Looper解决_the caller should invoke Looper.prepare() and Looper.loop()---Android原生开发工作笔记239 2019-04-26
Command line is too long. Shorten command line for Application---微服务升级_SpringCloud Alibaba工作笔记0067 2019-04-26
AndroidStudio_android实现双击_3击_监听实现---Android原生开发工作笔记240 2019-04-26
C++_类和对象_对象特性_初始化列表---C++语言工作笔记045 2019-04-26
C++_类和对象_对象特性_静态成员函数---C++语言工作笔记047 2019-04-26
AndroidStudio安卓原生开发_SwipeRefreshLayout_下拉刷新控件---Android原生开发工作笔记119 2019-04-26
AndroidStudio安卓原生开发_UI高级_DrawerLayout_侧滑菜单控件---Android原生开发工作笔记120 2019-04-26
AndroidStudio安卓原生开发_UI高级_Shape的使用_虚线_直线_矩形_渐变_径向渐变_线性渐变_扫描渐变---Android原生开发工作笔记122 2019-04-26
AndroidStudio安卓原生开发_UI高级_StateListDrawable状态选择器_按钮按下和抬起显示不同颜色---Android原生开发工作笔记124 2019-04-26
kivy制作安卓APP--简单音乐播放器 2019-04-26
十年(程序员改编) 2019-04-26
c++排序算法个人总结 2019-04-26
看完你就知道的乐观锁和悲观锁 2019-04-26
Docker入门 2019-04-26
Spring Aop 扫盲 2019-04-26
看完这篇操作系统,和面试官扯皮就没问题了 2021-06-29
安卓压缩/解压缩工具 2021-06-29
安卓使用GridView实现网格视图 2021-06-29
安卓性能监控(APM)之启动时间监控 2021-06-29
安卓性能监控(APM)之内存占用监控 2021-06-29