0004-Median of Two Sorted Arrays(寻找两个正序数组的中位数)
这个系列算是出于个人兴趣开的一个新坑吧,最近看到同学刷LeetCode算法题,就想写写那些可以一行Python代码写出来的题目,因此本专栏的文章的解题方式效率不做保证,只为追求“一行的浪漫”。
题目
题解
简单解释一下题目,给定两个有序数组nums1
和nums2
,要求找到两个数组所有数字的中位数,如果总共是奇数个则是中间数字,否则为中间两个数字的平均值。本题难度为Hard。
代码
这题的思路其实挺直白的,两个数组合并并且找到中间数即可,对于Python3而言,我这里给出了一种通用解法,也给出了一种利用statistics统计库得出结果的方法。
class Solution:def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:return sorted(nums1+nums2)[(len(nums1)+len(nums2))//2] if (len(nums1)+len(nums2))%2 == 1 else (sorted(nums1+nums2)[(len(nums1)+len(nums2))//2]+sorted(nums1+nums2)[(len(nums1)+len(nums2))//2-1])/2
import statistics
class Solution:def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:return statistics.median(sorted(nums1+nums2))
其中前一种解法速度较快,反馈如下。
0004-Median of Two Sorted Arrays(寻找两个正序数组的中位数)相关推荐
- java打乱一组正序数字,Leetcode︱4.Median of Two Sorted Arrays寻找两个正序数组的中位数.java...
题目 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的 中位数 . 示例 : 输入:nums1 = [1,3], nums2 = [2 ...
- 【LeetCode】4.寻找两个正序数组的中位数
4.寻找两个正序数组的中位数 一.问题描述 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的 中位数 . 二.问题简化 所谓中位数,就 ...
- LeetCode 4 寻找两个正序数组的中位数
https://leetcode-cn.com/problems/median-of-two-sorted-arra 解决方案 Go 版本 func findMedianSortedArrays(nu ...
- 【LeetCode】【HOT】4. 寻找两个正序数组的中位数(二分查找)
[LeetCode][HOT]4. 寻找两个正序数组的中位数 文章目录 [LeetCode][HOT]4. 寻找两个正序数组的中位数 package hot;public class Solution ...
- [二分搜索|快速选择] leetcode 4 寻找两个正序数组的中位数
[二分搜索|快速选择] leetcode 4 寻找两个正序数组的中位数 1.题目 题目链接 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组 ...
- 2022-6-13 全O(1)的数据结构,两数相加,无重复字符的最长子串,寻找两个正序数组的中位数,盛最多水的容器,......
1. 全 O(1) 的数据结构 Design a data structure to store the strings' count with the ability to return the s ...
- 寻找两个正序数组的中位数
寻找两个正序数组的中位数 时隔许久,我又回来了. 题目:给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2.请你找出并返回这两个正序数组的中位数. 要求算法的时间复杂度为O(log( ...
- 算法:寻找两个正序数组的中位数。
给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2. 请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和 ...
- Leetcode每日必刷题库第4题,如何寻找两个正序数组的中位数?
题目: 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2. 请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums ...
最新文章
- php创建view,GitHub - houdunwang/laravel-view: Laravel 视图组件生成器
- C/S和B/S的异同
- Java字符编码的转化问题
- 云基础设施公司 HashiCorp 宣布完成 D 轮 1 亿美元融资
- The IEEE 802.15.4 MAC layer
- Servelt中的ServletContext对象
- 腾讯视频下载安装_如何上传视频到腾讯视频平台
- .Net开发人员通过WCF使用Node.js
- python tree 库_Python——tree
- [vs2015 + AE]建立窗体应用程序的简单实验
- java编写的视频网站实例_一个在线视频网站的java web 后端开发
- 【斗地主 javascript js 斗地主 AI 人机 网页在线】基于专家系统的斗地主AI算法
- 程序员怎么跨年?跨年烟花网页支持自定义文本烟花
- 百度Java出现:“现在学java的都是傻子”相关搜索!
- TeamViewer14检测为商业用途最优解
- 改变网changeself.com,记录着改变生活、改变态度、改变思维方式、改变特质、改变行为方式,一切从改变自己身上的特质开启
- 西门子PLC协议-S7COMM
- 下载频道--IT资源关东煮第三期
- mysql将时间戳转换成日期_mysql 中查询时如何将时间戳转换为日期格式 / 日期格式转换为时间戳...
- CentOS7图形界面与命令行界面(Terminal)切换