在一个牧场中,有两个牛群,牛群A和牛群B,分别有m头和n头牛。每头牛都有一个独特的体重,体重由一个整数表示。 牛群A和牛群B的牛都按照体重从小到大进行排序。你的任务是找出这两个牛群的所有牛的体重的中位数。 请你设计一个算法,使得算法的时间复杂度为O(log (m+n))。
区块链毕设网qklbishe.com为您提供问题的解答
在一个牧场中,有两个牛群,牛群A和牛群B,分别有m头和n头牛。每头牛都有一个独特的体重,体重由一个整数表示。
牛群A和牛群B的牛都按照体重从小到大进行排序。你的任务是找出这两个牛群的所有牛的体重的中位数。
请你设计一个算法,使得算法的时间复杂度为O(log (m+n))。
import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param weightsA int整型一维数组 * @param weightsB int整型一维数组 * @return double浮点型 */ public double findMedianSortedArrays (int[] weightsA, int[] weightsB) { // write code here List<Integer> list = Stream.concat(Arrays.stream(weightsA).boxed(), Arrays.stream(weightsB).boxed()).sorted().collect(Collectors.toList()); int n = list.size(); if (n % 2 == 1) { return (double)list.get(n /2); } else { return (double)(list.get(n / 2) + list.get(n / 2 - 1)) /2; } } }
18:13
以上就是关于问题在一个牧场中,有两个牛群,牛群A和牛群B,分别有m头和n头牛。每头牛都有一个独特的体重,体重由一个整数表示。 牛群A和牛群B的牛都按照体重从小到大进行排序。你的任务是找出这两个牛群的所有牛的体重的中位数。 请你设计一个算法,使得算法的时间复杂度为O(log (m+n))。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训