leetcode刷题实录:4
前言
开始刷leetcode,保证平均每天一道题吧,学学别人的思路,提高编程技术。
目录
文章目录
- 前言
- 目录
- 正文
- 问题3:寻找两个有序数组的中位数
- 举例
- 分析
正文
继续刷题
问题3:寻找两个有序数组的中位数
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。
请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。
你可以假设 nums1 和 nums2 不会同时为空。
举例
nums1 = [1,2,3]
nums2 = [2]
则中位数是 2.0
分析
这个问题很难,因为,有时间要求,因此,不能使用暴力破解方法。
class Solution:def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]):n1 = len(nums1)n2 = len(nums2)if n1 > n2:return self.findMedianSortedArrays(nums2,nums1)k = (n1 + n2 + 1)//2left = 0right = n1while left < right :m1 = left +(right - left)//2m2 = k - m1if nums1[m1] < nums2[m2-1]:left = m1 + 1else:right = m1m1 = leftm2 = k - m1 c1 = max(nums1[m1-1] if m1 > 0 else float("-inf"), nums2[m2-1] if m2 > 0 else float("-inf") )if (n1 + n2) % 2 == 1:return c1c2 = min(nums1[m1] if m1 < n1 else float("inf"), nums2[m2] if m2 <n2 else float("inf"))return (c1 + c2) / 2
leetcode刷题实录:4相关推荐
- leetcode刷题实录:3
前言 开始刷leetcode,保证平均每天一道题吧,学学别人的思路,提高编程技术. 目录 文章目录 前言 目录 正文 问题3 举例 分析 什么是滑动窗口? 如何移动? 代码 正文 问题3 给定一个字符 ...
- leetcode刷题实录:2
前言 开始刷leetcode,保证平均每天一道题吧,学学别人的思路,提高编程技术. 目录 文章目录 前言 目录 正文 问题2 举例 分析 代码 正文 问题2 给出两个 非空 的链表用来表示两个非负的整 ...
- leetcode刷题实录:1
前言 开始刷leetcode,保证平均每天一道题吧,学学别人的思路,提高编程技术. 目录 文章目录 前言 目录 正文 问题1 示例: 解答 正文 问题1 给定一个整数数组 nums 和一个目标值 ta ...
- LeetCode刷题Python实录
使用Python的LeetCode刷题 前言 题目 1408. 数组中的字符串匹配 508. 出现次数最多的子树元素和 1089. 复写零 剑指 Offer 14- I. 剪绳子 1175. 质数排列 ...
- LeetCode刷题C++实录
LeetCode刷题C++实录 1. 两数之和 121. 买卖股票的最佳时机 382. 链表随机节点 622. 设计循环队列 623. 在二叉树中增加一行 640. 求解方程 761. 特殊的二进制序 ...
- 华为工程师总结的LeetCode刷题笔记提供下载,太优秀了
前言: 最近又有不少老铁在后台留言说,想进大厂,但是算法不好.最近我整理了一份刷题实录,这份刷题实录,也让我进了心仪的大厂.现在开放分享给大家.希望对大家有所帮助. 任何的算法题,如同写作文一样,都有 ...
- LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)
LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) 目录 LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) ...
- LeetCode刷题记录14——257. Binary Tree Paths(easy)
LeetCode刷题记录14--257. Binary Tree Paths(easy) 目录 前言 题目 语言 思路 源码 后记 前言 数据结构感觉理论简单,实践起来很困难. 题目 给定一个二叉树, ...
- LeetCode刷题记录13——705. Design HashSet(easy)
LeetCode刷题记录13--705. Design HashSet(easy) 目录 LeetCode刷题记录13--705. Design HashSet(easy) 前言 题目 语言 思路 源 ...
最新文章
- bcftools安装
- python安装选项_python设置执行选项参数
- java File类笔记
- iOS - OC Block 代码块
- 【转】HashTable 和 HashMap的区别
- 全国地铁城市数据分析(python实现)
- 【编程语言】Ruby完全自学手册
- ubuntu eclipse java_搭建Ubuntu Java Eclipse开发环境
- Principles of Reactive Programming 之Actors are Distributed (3)
- 计算机图形学开发框架,计算机图形学-基于3d图形开发技术
- python 抠图源码_别再自己抠图了,Python用5行代码实现批量抠图
- 服务监控(一)之安装Prometheus
- 微信获取openid的时候报40163错的原因
- 【HDU 4699】Editor【栈】
- 独家专访阿里云存储负责人吴结生:我经历的三个重大决策
- 【后端】Nginx 体系
- java 菜刀_jsp一句话木马菜刀
- python读取.txt、.dat等文件,将其中特定内容存到其他文件
- 【数据结构-ZZU】01. 绪论
- Windows如何找到相应的COM组件