力扣 4. 寻找两个正序数组的中位数
题目:
分析:
用归并排序的思想,但可以不用合并数组,只需要找到其中位数即可。
代码:
class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int i=0,j=0,l=0; double d=0,m=0; int n=(nums1.length+nums2.length)/2; while(l!=n){ if(i==nums1.length){ m=nums2[j]; j++;l++; }else{ if(j==nums2.length){ m=nums1[i]; i++;l++; }else{ if(nums1[i]<nums2[j]){ m=nums1[i]; i++;l++; }else{ m=nums2[j]; j++;l++; } } } } if(i==nums1.length){ d=nums2[j]; }else{ if(j==nums2.length){ d=nums1[i]; }else{ if(nums1[i]<nums2[j]){ d=nums1[i]; }else{ d=nums2[j]; } } } if((nums1.length+nums2.length)%2==0){ d=(d+m)/2; } return d; } }
上一篇:
92天倒计时,蓝桥杯省赛备赛攻略来啦~