日常算法练习题【寻找两个正序数组的中位数】,转疯了

本文介绍了一种简单高效的解题思路,通过合并两个正序数组,对合并后的数组进行排序,然后根据数组长度的奇偶性计算中位数。作者提供了一个Java实现的Solution类中的findMedianSortedArrays方法作为示例。
摘要由CSDN通过智能技术生成

-106 <= nums1[i], nums2[i] <= 106**

解题思路

==============================================================

题目大意: 就是求中位数,如果数组有奇数个那就是求中间那个数即可,如果公有偶数个,那就是中间两个数的平均值。

**解题思路:

有时候简单的思路往往可以解决问题,我们只需要在new一个长度为两个数组长度之和的空数组,然后把两个数组都放进去,然后sort一下,嗯没错直接sort就行,然后排好序后,就直接求出中间下标,判断下数组长度是不是偶数个,在分别处理即可**

代码

============================================================

/**

  • Keafmd

  • @ClassName: FindTheMedianOfTwoPositivelyOrderedArrays

  • @Description: 寻找两个正序数组的中位数

  • @author: 牛哄哄的柯南

  • @date: 2021-07-22 18:22

*/

class Solution {

public double findMedianSortedArrays(int[] nums1, int[] nums2) {

int l1 = nums1.length;

int l2 = nums2.length;

int[] num = new int[l1+l2];

int i=0,j=0;

int k=0;

double res =0;

while(i<l1){

num[k++] = nums1[i++];

}

while(j<l2){

num[k++] = nums2[j++];

}

Arrays.sort(num);

int sum_len = l1+l2;

int mid = sum_len/2;

if(sum_len%2==0){

res = (num[mid]+num[mid-1])/2.0;

}else{

res = num[mid];

}

return res;

}

}

**每天进步一点点!

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

文末

篇幅有限没有列举更多的前端面试题,小编把整理的前端大厂面试题PDF分享出来,一共有269页

vert/04273c2f50e58b6822663c5b2f379206.png)

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值