当前位置: 首页 > news >正文

4. 寻找两个正序数组的中位数

给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。

算法的时间复杂度应该为 O(log (m+n)) 。

示例 1:

输入:nums1 = [1,3], nums2 = [2]
输出:2.00000
解释:合并数组 = [1,2,3] ,中位数 2

示例 2:

输入:nums1 = [1,2], nums2 = [3,4]
输出:2.50000
解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5

思路:

合并两个数组,进行排序,然后找到中位数

class Solution:
    def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
        nums = nums1 + nums2
        nums = sorted(nums)
        len_nums = len(nums)
        if len_nums % 2 == 1:
            len_nums = len_nums -1
            return nums[len_nums//2]
        else:
            len_nums = len_nums -1
            return (nums[len_nums//2] + nums[len_nums//2 + 1]) /2

相关文章:

  • MySQL实战:SQL优化及问题排查
  • 382. K取方格数(图论,费用流,拆点,上下界可行流,网格图模型)
  • 通过一篇文章带你玩转git和GitHub
  • ajax中各个参数的含义是什么?
  • 白皮书发布|超融合运行 K8s 的场景、功能与优势
  • 在线部署ubuntu20.04服务器,安装jdk、mysql、redis、nginx、minio、开机自启微服务jar包
  • 外包干了5天,技术退步明显。。。。。
  • JsonUtility和LitJson的特点与区别
  • 编程笔记 html5cssjs 003 协作、约定与标准 50以内的乘法算式
  • EI级 | Matlab实现GCN基于图卷积神经网络的数据多特征分类预测
  • Linux shell 网络掩码地址转CIDR
  • 软考笔记--系统架构评估
  • Flutter使用auto_updater实现windows/mac桌面应用版本升级功能
  • 学习笔记-cmake
  • Mysql中的MVCC
  • 通过Spring Boot 实现页面配置生成动态接口?
  • Material UI 5 学习02-其它按钮组件
  • Android中的传感器类型和接口名称
  • 探索数据结构:单链表的实战指南
  • 【C++】C++模板基础知识篇
  • 比特币价格时隔三个月再度站上10万美元
  • 山寨“小米”智能马桶、花洒销售额过亿,被判赔3500万元
  • 上海充电桩调研:须全盘考量、分步实现车网互动规模化
  • 不主动上门检查,上海已制定14个细分领域“企业白名单”甄别规则
  • 马上评|不再提“智驾”,新能源车企回归理性
  • 个人住房公积金贷款利率下调,100万元30年期贷款总利息将减少近5万元