LeetCode-4 寻找两个正序数组的中位数(Java实现)

LeetCode-4 寻找两个正序数组的中位数(Java实现)

题目如下:
LeetCode-4 寻找两个正序数组的中位数(Java实现)

我的解决思路

题目中已经说了,两个数组不会同时为空,那肯定会存在其中一个数组为空的情况了。先判断有没有空的数组,如果有,那中位数就是另一个数字的最中间的数了。如果这个数字长度len为偶数,那就是(nums[len / 2 - 1] + nums[len / 2 ] )/ 2,如果len是计数那就是nums[len / 2] 。
如果两个数组都不为空,还分两种情况:其中一个数组的最后一个数 小于另外一个数组的第一个数,那就是两个数组的长度加起来/2,判断下这个值在哪个数组哪个位置即可。另一种情况就是其中一个数组的最后一个数大于另外一个数组的第一个数,这种情况比较难处理。