前言一、题目描述二、解题思路三、示例代码
前言
本题主要考查 双指针 。
提示:以下是本篇文章正文内容,编程语言为Java
一、题目描述给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。
示例 1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1,2,3] ,中位数 2
链接:寻找两个正序数组的中位数
二、解题思路在前面我们讲解了用双指针法合并两个排序数组。本题可以借鉴这个思想,首先将它们合并,然后在合并数组找中位数就可以了。
三、示例代码class Solution {
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
int m=nums1.length;
int n=nums2.length;
int index1=-1;
int index2=-1;
if((m+n)%2==0){
index1=(m+n)/2 - 1;
index2=index1+1;
}
else{
index1=(m+n+1)/2 - 1;
}
int[] tmp=new int[index1+2];
int len=-1,i=0,j=0;
while(len


