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

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

There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).

 

class Solution {public:    int FindKthElm(int A[],int bA,int eA,int B[],int bB,int eB,int k){        if(bA>eA){            return B[bB+k-1];            }        if(bB>eB){            return A[bA+k-1];        }        int mA=(bA+eA)/2;        int mB=(bB+eB)/2;        int half=mA-bA+mB-bB+2;        if(A[mA]>B[mB]){ //此时B数组和第k元素都在A[mA]左侧,A[mA]到A[eA]可以舍弃            if(k
half){ return FindKthElm(A,mA+1,eA,B,mB+1,eB,k-(half)); } else return A[mA]; } else{ //此时A数组和第k元素都在B[mB]左侧,B[mB]到B[eB]可以舍弃 if(k

 

public class Solution {   public int FindKth(int A[],int B[],int sa,int ea,int sb,int eb,int k){        if(sa>ea){            return B[sb+k-1];        }        else if(sb>eb){            return A[sa+k-1];        }        else{            int midA=(sa+ea)/2;            int midB=(sb+eb)/2;            int half=midA-sa+midB-sb+2;            if(A[midA]>B[midB]){                if(k
half){ k-=half; return FindKth(A,B,midA+1,ea,midB+1,eb,k); } else if(k
Java

 

转载于:https://www.cnblogs.com/superzrx/p/3295755.html

你可能感兴趣的文章
利用循环播放dataurl的视频来防止锁屏:NoSleep.js
查看>>
python3 生成器与迭代器
查看>>
java编写提升性能的代码
查看>>
ios封装静态库技巧两则
查看>>
Educational Codeforces Round 46 (Rated for Div. 2)
查看>>
Abstract Factory Pattern
查看>>
C# 实现Bresenham算法(vs2010)
查看>>
基于iSCSI的SQL Server 2012群集测试(一)--SQL群集安装
查看>>
list 容器 排序函数.xml
查看>>
Activity启动过程中获取组件宽高的五种方式
查看>>
java导出Excel表格简单的方法
查看>>
SQLite数据库简介
查看>>
利用堆实现堆排序&优先队列
查看>>
Mono源码学习笔记:Console类(四)
查看>>
Android学习路线(十二)Activity生命周期——启动一个Activity
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>