首页 > 编程知识 正文

若m+n=1,求mn的最大值,给定n个数据,求最大值出现的位置

时间:2023-05-04 20:08:48 阅读:267329 作者:4620

我的方法粗暴,申请一个长度等于二者之和的数组,然后先后拷贝到新数组,继续排序,然后根据长度求到中位数;我的时间复杂度和空间复杂度都算不上最好,所以就是个暴力解法,有更好的解法欢迎指正(我现在只学习了冒泡排序)

class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int n = nums1.length; int m = nums2.length; int[] array = new int[n+m]; System.arraycopy(nums1,0,array,0,n); System.arraycopy(nums2,0,array,n,m); Arrays.sort(array); if((n+m) % 2 != 0){ int s = (n+m) / 2; return array[s]; }else{ int a = (n+m) / 2; return(array[a] + array[a-1])*1.0 / 2; } }}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。