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

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

 
public class Solution {        public double findMedianSortedArrays(int A[], int B[]) {                        int aLen = A.length;            int bLen = B.length;                        if((aLen+bLen) % 2 == 0){                return (getKthElement(A, 0, aLen-1, B, 0, bLen-1, (aLen+bLen)/2)                       + getKthElement(A, 0, aLen-1, B, 0, bLen-1, (aLen+bLen)/2 + 1))  / 2.0 ;            } else {                return getKthElement(A, 0, aLen-1, B, 0, bLen-1, (aLen+bLen)/2+1);            }        }            public int getKthElement(int A[], int aBeg, int aEnd, int B[], int bBeg, int bEnd, int k){                                if(aBeg > aEnd){                    return B[bBeg+(k-1)];                }                if(bBeg > bEnd){                    return A[aBeg+(k-1)];                }                                int aMid = (aBeg+aEnd) >>1;                int bMid = (bBeg+bEnd) >>1;                                int len = aMid - aBeg + bMid -bBeg +2;                                if(len > k) {                    if(A[aMid] < B[bMid]){                        return getKthElement(A, aBeg, aEnd, B, bBeg, bMid-1, k);                    }else{                        return getKthElement(A, aBeg, aMid-1, B, bBeg, bEnd, k);                    }                }else {                    if(A[aMid] < B[bMid]){                        return getKthElement(A, aMid+1, aEnd, B, bBeg, bEnd, k - (aMid-aBeg+1));                    } else {                        return getKthElement(A, aBeg, aEnd, B, bMid+1, bEnd, k - (bMid-bBeg+1));                    }                }            }    }

 

转载于:https://www.cnblogs.com/RazerLu/p/3531128.html

你可能感兴趣的文章
[C#]游戏地图绘制——双玩家版
查看>>
博客开篇自传
查看>>
Vue2基础Api学习
查看>>
linux复制目录结构
查看>>
函数传值与传引用的理解
查看>>
防火墙的AAA认证
查看>>
Centos常用操作记录
查看>>
The hierarchy of the type is inconsistent 问题
查看>>
基于Jquery的图片自动分组且自适应页面的缩略图展示特效
查看>>
RIP协议报文格式
查看>>
无敌删除
查看>>
我的友情链接
查看>>
LinuxCast 远程管理 视频教程笔记
查看>>
zabbix 监控日志关键字
查看>>
Docker之weave工具
查看>>
lvm,磁盘配额
查看>>
政府网站群建设关注点
查看>>
深入理解计算机操作系统--读书笔记-第八章异常
查看>>
我的友情链接
查看>>
Windows 2016 容錯移轉叢集安裝 (1) 叢集安裝
查看>>