LeetCode第四题--求两个排序好的数组的中位数
来源:互联网 发布:剑网3菊花插件dbm数据 编辑:程序博客网 时间:2024/05/16 08:11
LeetCode第四题解答
- LeetCode第四题解答
- 实现
- 参考
- LeetCode第四题解答
实现
/** * LeetCode第四题: 寻找两个已经排序好的数组的中位数 * @author 朱君鹏 * */public class FindMedian { public static double findMedianSortedArrays(int[] nums1, int[] nums2) { int num1Length = nums1.length; //表示num1数组的长度 int num2Length = nums2.length; //表示num2数组的长度 int mergeLength = num1Length + num2Length; int[] mergeArray = new int[mergeLength]; //创建大数组 int i = 0 ; //遍历数组num1的指针 int j = 0 ; //遍历数组num2的指针 int k = 0 ; //遍历和数组的指针 for (k=0; k < mergeLength;k++){ if (i >= num1Length) { //说明num1数组已经全部遍历完 if (j >= num2Length) { //说明num2数组已经遍历完 break; }else { mergeArray[k] = nums2[j]; j++; continue; } } if (j >= num2Length) { //说明num2数组已经遍历完 if( i >= num1Length) { //说明num1已经遍历完 break; }else{ mergeArray[k] = nums1[i]; i++; continue; } } if (i < num1Length && j < num2Length){ if(nums1[i] < nums2[j]) { mergeArray[k] = nums1[i]; i++; }else{ mergeArray[k] = nums2[j]; j++; } } } //计算中位数 double median = 0; if(mergeLength % 2 !=0){ //说明新数组有基数个元素,其中位数一定为中间元素 int mid = (0 + mergeLength) / 2; median = (double)mergeArray[mid]; }else { int mid = (0 + mergeLength) / 2; int sum = mergeArray[mid] + mergeArray[mid-1] ; median = (double)sum/2; } return median; } public static void main(String[] args) { int[] nums1 = {1,3,5,7}; int[] nums2 = {2,4,6,8}; System.out.println(findMedianSortedArrays(nums1, nums2)); }}
参考
- github https://github.com/zhujunpengguizhou/Algorithms/tree/master/src/com/uniplore/problemset1
阅读全文
0 0
- LeetCode第四题--求两个排序好的数组的中位数
- leetcode 求两个排序数组的中位数
- 给两个排序好的数组,怎么求两个数组合并后的中位数?
- [LeetCode] 求两个有序数组的中位数
- 求两个排序数组的中位数
- 求两个排序数组的中位数
- 求两个数组的中位数
- 求两个或多个已排序数组的中位数
- Arithmetic problem | 求两个排序数组的中位数
- 两个排序数组的中位数
- 两个排序数组的中位数
- 两个排序数组的中位数
- 两个排序数组的中位数
- 两个排序数组的中位数
- 两个排序数组的中位数
- 两个排序数组的中位数
- 两个排序数组的中位数
- leetcode题目 寻找两个排序数组的中位数
- js小程序
- Servlet&JSP 第一章 Web应用程序简介
- shader学习基础之四(语法规范以及光照模型)
- 快速幂
- POJ 2449 Remmarguts' Date 求k短路 A*+dijkstra
- LeetCode第四题--求两个排序好的数组的中位数
- 查找-二分查找法-数据结构(25)
- Linux基础(一)
- 多线程(2)
- 使用网络技术————新闻客户端
- poj1753之DFS
- 【2013年第四届蓝桥杯C/C++程序设计本科B组决赛 连续奇数和(结果填空) 】
- C
- 二叉树