给定两个大小分别为 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的元素进行排序,最后取中间值即可。

寻找两个正序数组的中位数——冒泡排序(归并排序)相关推荐

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

    https://leetcode-cn.com/problems/median-of-two-sorted-arra 解决方案 Go 版本 func findMedianSortedArrays(nu ...

  2. 【LeetCode】4.寻找两个正序数组的中位数

    4.寻找两个正序数组的中位数 一.问题描述 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的 中位数 . 二.问题简化 所谓中位数,就 ...

  3. 【LeetCode】【HOT】4. 寻找两个正序数组的中位数(二分查找)

    [LeetCode][HOT]4. 寻找两个正序数组的中位数 文章目录 [LeetCode][HOT]4. 寻找两个正序数组的中位数 package hot;public class Solution ...

  4. [二分搜索|快速选择] leetcode 4 寻找两个正序数组的中位数

    [二分搜索|快速选择] leetcode 4 寻找两个正序数组的中位数 1.题目 题目链接 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组 ...

  5. 2022-6-13 全O(1)的数据结构,两数相加,无重复字符的最长子串,寻找两个正序数组的中位数,盛最多水的容器,......

    1. 全 O(1) 的数据结构 Design a data structure to store the strings' count with the ability to return the s ...

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

    寻找两个正序数组的中位数 时隔许久,我又回来了. 题目:给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2.请你找出并返回这两个正序数组的中位数. 要求算法的时间复杂度为O(log( ...

  7. 算法:寻找两个正序数组的中位数。

    给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2. 请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和  ...

  8. Leetcode每日必刷题库第4题,如何寻找两个正序数组的中位数?

    题目: 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2. 请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums ...

  9. LeetCode 04寻找两个正序数组的中位数(困难)二分法

    题目描述: 呕心沥血的一个题解,点赞关注收藏,一键三联,一起加入我们打卡! 题目描述: 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2. 请你找出这两个正序数组的中位数 ...

最新文章

  1. Delphi 调用webservice接口
  2. windows系统下的FTP命令
  3. 【转】Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程
  4. 【强化学习】Q-Learning
  5. python 福利彩票_使用Python买福彩,5个数字,20选5,有没买过
  6. docker容器内无法下载到alpine的资源,报错network error (check Internet connection and firewall)
  7. leetcode 628. Maximum Product of Three Numbers | 628. 三个数的最大乘积(Java)
  8. Dojo高级Web2.0 UI组件库---Tree组件
  9. Node.js Event loop 图解
  10. 企业软件介绍主页html模板
  11. Python 深度学习库 Keras 发布官方中文文档,这里有你需要了解的一切
  12. spss分析方法-主成分分析
  13. 公用计算机不使用键盘鼠标,鼠标键盘同时不能用了怎么回事_电脑的键盘和鼠标不能同时用如何解决...
  14. Ubuntu16.04 + 微软kinect 2 实现rgbdslam V2
  15. EMUI10安装java_速升级!荣耀Play推EMUI 9.1正式版更新:方舟编译器和EROFS系统来了 - IT之家...
  16. 对敏捷管理模式核心价值的解读
  17. 微信小程序-图片等比例显示不变形
  18. Debian系统安装
  19. Python的一些读书笔记
  20. 攻防世界_Crypto_sherlock

热门文章

  1. 软件测试实验——安装并使用junit、hamcrest和eclemma进行简单测试
  2. Java正则入门(1)——去除字符串头尾空格
  3. Kaggle冠军经验分享丨如何用15个月冲到排行榜的首位
  4. 爬虫--pyquery使用
  5. eclipse failed to create the java virtual machine 问题图文解析
  6. wxWidgets编译安装gtk问题的解决办法
  7. 特斯拉放弃SAP,仅25个人4个月就开发了整套ERP!就问你服不服?
  8. 告别 Navicat ,同事安利的这个IDEA的兄弟,真香!
  9. 硬核!30 张图解 HTTP 常见的面试题
  10. 高并发场景下更新数据库报错,记录一次 MySQL 死锁问题的解决