介绍
节> <节>,
节>
这篇文章将为大家详细讲解有关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中怎么寻找两个正序数组的中位数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。