LeetCode中怎么寻找两个正序数组的中位的数

  介绍

这篇文章将为大家详细讲解有关LeetCode中怎么寻找两个正序数组的中位数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<节>
   <节>,

一、寻找两个正序数组的中位数

,

1.1,问题简述

给定两个大小为m和n的正序(从小到大)数组<代码> nums1 和<代码> nums2> ,

1.2,示例

 <代码>示例1:

输入:nums1=[1,3], nums2=[2]
输出:2.00000
解释:合并数组=(1、2、3),中位数2
示例2:

输入:nums1=[1, 2], nums2=[3,4]
输出:2.50000
解释:合并数组=(1、2、3、4),中位数(2 + 3)/2=2.5
示例3:

输入:nums1=(0,0), nums2=(0,0)
输出:0.00000
示例4:

输入:nums1=[], nums2=[1]
输出:1.00000
示例5:

输入:nums1=[2], nums2=[]
输出:2.00000
,

提示:

nums1。长度==m
nums2。长度==n
0 & lt;=m & lt;=1000
0 & lt;=n & lt;=1000
1 & lt;=m + n & lt; 2000
=-106 & lt;=nums1[我],nums2[我]& lt;=106


  ,   ,

1.3,题解思路

本题采用的思路就是使用集合的操作,没有什么花里胡哨的内容,判断集合大小进行区分就可以了,没有追求高性能的计算,后面自己会单独写一些内容的

,

1.4,题解程序

 <代码>进口java.util.ArrayList; 
进口并不知道;
进口java.util.stream.Collectors;

/* *
* @author pc
*/
公共类FindMedianSortedArraysTest {
,,公共静态void main (String [] args) {
,,,,int [] nums1={1,2};
,,,,int [] nums2={3、4};
,,,,双精度值=https://www.yisu.com/zixun/findMedianSortedArrays (nums1 nums2);
,,,,System.out.println(“价值=https://www.yisu.com/zixun/?值),
,,}

,,公共静态双findMedianSortedArrays (int [] nums1, int [] nums2) {
,,,,List列表=new ArrayList<祝辞(nums1。长度+ nums2.length);
,,,,如果(nums1 !=null) {
,,,,,,(int num: nums1) {
,,,,,,,,list.add (num);
,,,,,}
大敌;,,}
大敌;,,,如果(nums2 !=null) {
,,,,,,(int num: nums2) {
,,,,,,,,list.add (num);
,,,,,}
大敌;,,,}

,,,,List收集=列表。
,,,,,流()。
,,,,,,排序(整数::compareTo)
,,,,,,.collect (Collectors.toList ());
,,,结果,int []=new int [collect.size ());
,,,,int i=0;
,,,,(int num:收集){
,,,,,,结果我+ +=num;
,,,}
大敌;,,,int大?collect.size ();
,,,,//生成中位数
,,,,双j;
,,,,如果(体积% 2==0){
,,,,,j=(收集。(尺寸/2 - 1)+收集。(尺寸/2))/2.0;
,,,,其他}{
,,,,,j=收集。(尺寸/2);
,,,}
大敌;,,,返回j;
,,}
}


关于LeetCode中怎么寻找两个正序数组的中位数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

LeetCode中怎么寻找两个正序数组的中位的数