猜猜我有几颗糖?
猜对了两颗都给你
前言
三个人在学校门口接孩子
开车的说:“孩子现在也接不起了,住的远,一天油钱也得十多块,费油哎。”
骑电动车的说:“谁说不是呢,我这一个月电费也得二三十块,费电哎。”
骑自行车的说:“我这不费油,不费电的,天天还可以锻炼身体,不过啊,也花钱,天天吃的多,费饭哎。”
哎,我这天天放牛的,费牛哎
家家都有一本难念的经啊
能用钱解决的事都不是事儿
关键是咱啥都不缺,就缺钱哎 ╯▽╰
1 思路分析
nums1 = [1,3], nums2 = [2,4]
输出: 2.5
1.1 基本步骤
- 合并数组
- 排序
- 寻找中位数
1.2 重点步骤
寻找中位数
3.1 奇数
- a[n-1]
- (a[Math.floor(n)] + a[n-1]) / 2
3.2 偶数
- (a[n] + a[n-2]) / 2
- (a[n] + a[Math.floor(n-1)]) / 2
2 代码片段
/**
* @param {array} nums1
* @param {array} nums2
* @return {number}
*/
var findMedianSortedArrays = function (nums1, nums2) {
const arr = [...nums1, ...nums2]
const sortArr = arr.sort((a, b) => a - b)
const left = arr[Math.floor((sortArr.length - 1) / 2)]
const right = arr[Math.floor((sortArr.length) / 2)]
return (left + right) / 2
}
3 技巧总结
middle
// 奇数
const a = [1,2,3]
const middle = a[(a.length-1)/2]
// 偶数
const a = [1,2,3,4]
const middle = (a[a.length/2] + a[(a.length-2)/2]) / 2
// 奇偶
const middle = a => (
a[Math.floor(a.length/2)] + a[Math.floor((a.length-1)/2)) / 2
4 精选评论
- 生不出人,我很抱歉
- 奈何老夫没文化,一句卧槽走天下
- 为什么我的眼里常含泪水,因为我对知识一无所知
你全力做到的最好
还不如别人随便搞搞