20191016:(leetcode习题)寻找两个有序数组的中位数
寻找两个有序数组的中位数
- 题目
- 大致思路
- 代码实现
题目
- 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。
- 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。
- 你可以假设 nums1 和 nums2 不会同时为空。
大致思路
先合并两个数组,再排序,最后根据长度为奇数或偶数来计算中位数即可。
代码实现
package com.immunize.leetcode.findMedianSortedArrays;import java.util.Arrays;/*** 获取两个有序数组的中位数* * @author Mr IMMUNIZE**/
public class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int[] a = new int[nums1.length + nums2.length];int sum = nums1.length + nums2.length;double mid = 0.0d;for (int i = 0; i < nums1.length; i++) {a[i] = nums1[i];}for (int i = 0; i < nums2.length; i++) {a[nums1.length + i] = nums2[i];}Arrays.sort(a);mid = sum % 2 == 1 ? (double) a[sum / 2] : (a[sum / 2 - 1] + a[sum / 2]) / 2;return mid;}
}
20191016:(leetcode习题)寻找两个有序数组的中位数相关推荐
- 【LeetCode】寻找两个有序数组的中位数【性质分析+二分】
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和 nums2 ...
- leetcode 4. 寻找两个有序数组的中位数,c语言
leetcode上第四道题,如下. 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2.请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)).你可以假 ...
- LeetCode 4. 寻找两个有序数组的中位数(二分查找,难)
文章目录 1. 题目 2. 解题 2.1 合并数组 2.2 优化2.1解法,双指针 2.3 二分法(找第k个数) 2.4 切分法 1. 题目 给定两个大小为 m 和 n 的有序数组 nums1 和 n ...
- [leetcode] 4 寻找两个有序数组的中位数(二分+递归查找第K小数)(重要)
问题描述 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和 n ...
- Leetcode(4)寻找两个有序数组的中位数
题目描述 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和 n ...
- LeetCode 4.寻找两个有序数组的中位数
题目描述 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和 n ...
- leetcode 4 --- 寻找两个有序数组的中位数
1 题目 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的中位数. 进阶:设计一个时间复杂度为 O(log (m+n)) 的算法. 2 解 ...
- [leetcode] 4. 寻找两个有序数组的中位数
官方题解:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/solution/xun-zhao-liang-ge-you-xu- ...
- LeetCode(Python实现)—寻找两个有序数组的中位数
4.寻找两个有序数组的中位数 题目大意 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). ...
最新文章
- 计算机网络-物理层设备
- Python 解析配置模块之ConfigParser详解
- C#开发学习——web服务器端控件
- Linux Shell常用技巧(七)
- 动态隐藏ALV的行和列
- java 栈和队列实现迷宫代码_LeetCode每日一题--剑指 Offer 09. 用两个栈实现队列(Java)
- windows css,CSS (Windows) | Microsoft Docs
- excel中空格去不掉java_在Apache POI中跳过空白Excel单元格
- html正方形对话框素材,10种展示效果的弹出层对话框插件method.js
- mariadb multi-source replication(mariadb多主复制)
- 纪念王盘声逝世一周年王派演唱会成功举行
- miui8 android.policy,小米MIUI8系统调教记:轻快好省 畅爽静稳
- 同一网段两台电脑共享文件
- 同一个基站连接两个核心网AMF POOL的场景分析及带AMF重选的注册流程
- 大陆人怎么去香港银行开户?
- 日元兑人民币用计算机怎么算,日元兑换人民币是以什么计算?谢谢我有日元 – 手机爱问...
- lzg_ad:如何构建最小尺寸的XPE镜像文件
- 啊哈C——学习3.5一起来找茬
- 数据库的安装卸载与使用
- 500万相机芯片尺寸_工业CCD相机芯片靶面尺寸的计算
热门文章
- 趣谈 JOIN 操作
- 还有不会用 SQL 的程序员吗?
- 阿里云智能 AIoT 首席科学家丁险峰:阿里全面进军 IoT 这一年 | 问底中国 IT 技术演进
- 刚刚,百度宣布王海峰升任 CTO
- 2019 Go 开发者路线图,请收下这份指南!
- 当我们谈论 996 的时候我们在谈论什么?
- 我是如何旅游 5 个月拿到 3 份 Offer 并收入翻倍的
- 2018 区块链技术及应用峰会(BTA)·中国全日程公布!
- iOS 11.2 版本紧急修复黑屏 Bug,却遇 FaceID 识别错误,真实原因在此
- javaweb实训第四天上午——员工管理系统-JavaBeanELJSTLMVC思想