题解 | #数据流中的中位数#
数据流中的中位数
https://www.nowcoder.com/practice/9be0172896bd43948f8a32fb954e1be1
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num int整型 * @return 无 */ const nums = []; export function Insert(num: number) { // 插入排序 nums.push(num); //然后对后面的进行插入排序(后面往前插入) for (let i = 1; i < nums.length; i++) { let pre = i-1; let current = nums[i];//undefined while (pre >= 0 && nums[pre] > current) { nums[pre + 1] = nums[pre] pre--; } //找到了一个位置就是说这个数小于当前值 nums[pre + 1] = current; } return nums; } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param 无 * @return double浮点型 */ export function GetMedian(): number { // 找到中位数 if (nums.length % 2 === 0) { //偶数 return (nums[nums.length / 2] + nums[nums.length / 2 - 1]) / 2; } else { //奇数 return nums[Math.floor(nums.length / 2)]; } }