寻找两个有序数组的中位数

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。

你可以假设 nums1 和 nums2 不会同时为空。

示例:
nums1 = [1, 3]
nums2 = [2]
则中位数是 2.0

解答

一、利用归并排序

思路:利用归并排序,将两个有序数组合并为一个有序数组,然后根据数组长度求得中位数。

let findMedianSortedArrays = function(nums1, nums2) {let arr = [];let n1=0,n2=0,result=0;while(n1<nums1.length && n2<nums2.length){if(nums1[n1] < nums2[n2]){arr.push(nums1[n1++]);}else{arr.push(nums2[n2++]);}}while(n1<nums1.length){arr.push(nums1[n1++]);}while(n2<nums2.length){arr.push(nums2[n2++]);}let len = arr.length;if(len%2===0){result = ((arr[len/2]+arr[(len/2)-1])/2).toFixed(5);}else{result = arr[(len-1)/2].toFixed(5);}return result;
};let a = [1,3,5];
let b = [2,3,5];console.log(findMedianSortedArrays(a, b));

运行结果:

LeetCode:每日一题(2020.4.9)相关推荐

  1. Leetcode每日一题2020.11.13第328题:奇偶链表

    328.奇偶链表 题目描述 思路.算法及代码实现 方法:分离节点后合并 如果链表为空,则直接返回链表. 对于原始链表,每个节点都是奇数节点或偶数节点.头节点是奇数节点,头节点的后一个节点是偶数节点,相 ...

  2. LeetCode 每日一题 42. 接雨水 详细多种题解 C++描述

    LeetCode 每日一题 42. 接雨水 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,一起加油吧~ 难度 困难 2020.04.04每日一题 ...

  3. Leetcode每日一题——思路小记

    文章目录 LeetCode每日一题 golang T15 2020.6.12 三数之和,双指针的运用 T70 2020.6.13 斐波那契数列 T1014 2020.6.17 最佳观光:双指针,计算公 ...

  4. leetcode每日刷题计划-简单篇day8

    leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...

  5. Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)

    思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...

  6. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  7. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  8. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

  9. 【LeetCode每日一题】——109.有序链表转换二叉搜索树

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...

  10. leetcode每日一题·救生艇问题(Python)

    leetcode每日一题·救生艇问题(Python) 问题描述 题目入口 题目思路 首先分析问题,一个船最多坐两人,因此我们可以把这个问题看作两两组合的问题,并且如果最重的那个人和最轻的人加起来大于l ...

最新文章

  1. 我研究了最热门的200种AI工具,却发现这个行业有点饱和
  2. CentOS5.4下安装短信猫
  3. iredmail 邮件服务器搭建
  4. Android Studio 打开后无故爆红后解决办法
  5. 操作系统:了解一下磁盘结构
  6. 流水线可靠数据传输协议
  7. java模拟servlet_Java应用程序模拟向Servlet发送POST请求
  8. arduino无源蜂鸣器歌曲编码_Arduino加无源蜂鸣器,播放音乐《葫芦娃》
  9. SpringBoot 自带工具类~StreamUtils
  10. 吴恩达 神经网络和深度学习 第一课 第四周(代码和库)
  11. java jpanel隐藏_java – 绘制JPanel隐藏菜单
  12. 中职计算机专业阶段成长目标,计算机专业中职生职业生涯规划书
  13. win32 api 显示一张位图的简单代码,释疑用的。
  14. Jade报错:Invalid indentation,you can use tabs or spaces but not both问题
  15. COMSOL模拟卡门涡街的模型
  16. android模拟器 opengl,在Android模拟器上缺少OpenGL驱动程序
  17. Base64 编码整理
  18. 引流产品用哪些比较合适?什么样的产品适合做引流?
  19. 计算机函数公式的英文表达式,Houdini Expression functions 函数表达式中英文对照(二)...
  20. 强网杯2018_core

热门文章

  1. 18.pika 安装
  2. 1. Magento2 --- (1) theme ---create a theme
  3. maven profiles配置_nexus3搭建maven私服(完整版)
  4. VBS脚本运行库 ——文本文件的建立、追加、删除等
  5. postgreSQL 自动递增序号
  6. Tyvj3308毒药解药题解
  7. [软件更新]迅雷v5.9.8.1084发布
  8. 时间操作(Java版)—获取给定时间与当前系统时间的差值(以毫秒为单位)
  9. Yii 2.0 权威指南(1) 第一次问候
  10. mysql版本问题,最近多次遇到的坑