您的位置:首页 > 新闻 > 热点要闻 > 室内设计培训学费_苏州网站设计聚尚网络_一个产品的市场营销策划方案_搜索热词排行榜

室内设计培训学费_苏州网站设计聚尚网络_一个产品的市场营销策划方案_搜索热词排行榜

2025/4/19 16:27:45 来源:https://blog.csdn.net/2301_80277354/article/details/146602666  浏览:    关键词:室内设计培训学费_苏州网站设计聚尚网络_一个产品的市场营销策划方案_搜索热词排行榜
室内设计培训学费_苏州网站设计聚尚网络_一个产品的市场营销策划方案_搜索热词排行榜

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。

class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int[] nums;int m=nums1.length;int n=nums2.length; nums=new int[m+n];if(m==0){if(n%2==0){return (nums2[n/2-1]+nums2[n/2])/2.0;}else{return nums2[n/2];}}if(n==0){if(m%2==0){return (nums1[m/2-1]+nums1[m/2])/2.0;}else{return nums1[m/2];}}int count=0;int i=0,j=0;while(count!=(m+n)){if(i==m){while(j!=n){nums[count++]=nums2[j++];}break;}if (j == n) {while (i != m) {nums[count++] = nums1[i++];}break;}
if(nums1[i]<nums2[j]){nums[count++]=nums1[i++];
}
else
{nums[count++]=nums2[j++];
}}if(count%2==0){return (nums[count/2-1]+nums[count/2])/2.0;}else{return nums[count/2];}}
}
  • m == 0的情况:如果nums1数组为空,直接计算nums2数组的中位数。若n为偶数,中位数是中间两个数的平均值;若n为奇数,中位数就是中间的那个数。
  • n == 0的情况:如果nums2数组为空,直接计算nums1数组的中位数。同样,根据m的奇偶性来确定中位数的计算方式。
  • count:用于记录合并后数组nums的当前索引。
  • inums1数组的当前索引。
  • jnums2数组的当前索引。
  • 使用while循环,只要count不等于m + n,就继续合并操作。
  • 如果i达到m,说明nums1数组已经遍历完,将nums2数组剩余的元素依次添加到nums数组中。
  • 如果j达到n,说明nums2数组已经遍历完,将nums1数组剩余的元素依次添加到nums数组中。
  • nums1[i] < nums2[j],将nums1[i]添加到nums数组中,并将icount加 1;否则,将nums2[j]添加到nums数组中,并将jcount加 1。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com