寻找两个正序数组的中位数——冒泡排序(归并排序)
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。
冒泡算法
class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int len = nums1.length + nums2.length;int[] nums3 = new int[len];for (int i = 0; i < nums1.length; i++)nums3[i] = nums1[i];for (int i = nums1.length; i < nums1.length + nums2.length; i++) {nums3[i] = nums2[i - nums1.length];}for (int i = 0; i < nums3.length - 1; i++) {for (int j = 0; j < nums3.length - i - 1; j++) {if (nums3[j] > nums3[j + 1]) {int temp = nums3[j];nums3[j] = nums3[j + 1];nums3[j + 1] = temp;}}}if(len%2==0){int sum=len/2;double sum1=nums3[sum];double sum2=nums3[sum-1];double sum3=(sum1+sum2)/2;return sum3;}else{int sum=len/2;double sum1=nums3[sum];return sum1;}}
}
归并排序
public double findMedianSortedArrays(int[] nums1, int[] nums2) {int len = nums1.length + nums2.length;int[] nums3;if (nums1.length == 0) {nums3 = nums2;} else if (nums2.length == 0) {nums3 = nums1;} else {nums3 = new int[len];for (int i = 0, j = 0, k = 0; k < len; k++) {if (i < nums1.length && j < nums2.length) {if (nums1[i] <= nums2[j]) {nums3[k] = nums1[i];i++;} else {nums3[k] = nums2[j];j++;}} else if (i < nums1.length) {nums3[k] = nums1[i];i++;} else if (j < nums2.length) {nums3[k] = nums2[j];j++;}}}if(len%2==0){int sum=len/2;double sum1=nums3[sum];double sum2=nums3[sum-1];double sum3=(sum1+sum2)/2;return sum3;}else{int sum=len/2;double sum1=nums3[sum];return sum1;}}
思路:
定义一个数组,存放nums1和nums2的元素,然后使用冒泡排序对nums3的元素进行排序,最后取中间值即可。
寻找两个正序数组的中位数——冒泡排序(归并排序)相关推荐
- LeetCode 4 寻找两个正序数组的中位数
https://leetcode-cn.com/problems/median-of-two-sorted-arra 解决方案 Go 版本 func findMedianSortedArrays(nu ...
- 【LeetCode】4.寻找两个正序数组的中位数
4.寻找两个正序数组的中位数 一.问题描述 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的 中位数 . 二.问题简化 所谓中位数,就 ...
- 【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 ...
- LeetCode 04寻找两个正序数组的中位数(困难)二分法
题目描述: 呕心沥血的一个题解,点赞关注收藏,一键三联,一起加入我们打卡! 题目描述: 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2. 请你找出这两个正序数组的中位数 ...
最新文章
- Delphi 调用webservice接口
- windows系统下的FTP命令
- 【转】Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程
- 【强化学习】Q-Learning
- python 福利彩票_使用Python买福彩,5个数字,20选5,有没买过
- docker容器内无法下载到alpine的资源,报错network error (check Internet connection and firewall)
- leetcode 628. Maximum Product of Three Numbers | 628. 三个数的最大乘积(Java)
- Dojo高级Web2.0 UI组件库---Tree组件
- Node.js Event loop 图解
- 企业软件介绍主页html模板
- Python 深度学习库 Keras 发布官方中文文档,这里有你需要了解的一切
- spss分析方法-主成分分析
- 公用计算机不使用键盘鼠标,鼠标键盘同时不能用了怎么回事_电脑的键盘和鼠标不能同时用如何解决...
- Ubuntu16.04 + 微软kinect 2 实现rgbdslam V2
- EMUI10安装java_速升级!荣耀Play推EMUI 9.1正式版更新:方舟编译器和EROFS系统来了 - IT之家...
- 对敏捷管理模式核心价值的解读
- 微信小程序-图片等比例显示不变形
- Debian系统安装
- Python的一些读书笔记
- 攻防世界_Crypto_sherlock
热门文章
- 软件测试实验——安装并使用junit、hamcrest和eclemma进行简单测试
- Java正则入门(1)——去除字符串头尾空格
- Kaggle冠军经验分享丨如何用15个月冲到排行榜的首位
- 爬虫--pyquery使用
- eclipse failed to create the java virtual machine 问题图文解析
- wxWidgets编译安装gtk问题的解决办法
- 特斯拉放弃SAP,仅25个人4个月就开发了整套ERP!就问你服不服?
- 告别 Navicat ,同事安利的这个IDEA的兄弟,真香!
- 硬核!30 张图解 HTTP 常见的面试题
- 高并发场景下更新数据库报错,记录一次 MySQL 死锁问题的解决