2.1.5 Median of Two Sorted Arrays
来源:互联网 发布:360杀毒软件for mac 编辑:程序博客网 时间:2024/06/13 04:09
问题
答案
#include <stdio.h>//使用线性搜索,算法时间复杂度为O(m+n)int get_median(int *a, int la, int *b, int lb){ int i, j; int median = 0; //中值数 int mid = (la + lb) / 2; //两个数组长度和的中间下表 int odd = !((la + lb) % 2); //两个数组长度和为偶数标志 if (!odd) mid++; for (i = j = 0; (i + j + 0) < mid; ) { if (a[i] < b[j]) { median = a[i++]; } else if (a[i] > b[j]) { median = b[j++]; } } if (odd) { if (i >= la) median = (median + b[j]) / 2; else if (j >= lb) median = (median + a[i]) / 2; else median = (median + (a[i]<b[j]?a[i]:b[j])) / 2; } return median;}int main(void){ int a[100], b[100]; int la, lb; int i; int median = 0; i = 0; printf("input array 1, end with -1:\n"); do { scanf("%d", &a[i]); } while (a[i++] != -1); la = --i; i = 0; printf("input array 2, end with -1:\n"); do { scanf("%d", &b[i]); } while (b[i++] != -1); lb = --i; median = get_median(a, la, b, lb); printf("median is %d\n", median); return 0;}
结果
0 0
- 2.1.5 Median of Two Sorted Arrays
- 2.1.5 Median of Two Sorted Arrays
- 5 leetcode - Median of Two Sorted Arrays
- 5: Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of two sorted arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- median-of-two-sorted-arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- Median of Two Sorted Arrays
- runtime
- HDOJ 1002 A + B Problem II
- 【数据结构】Java实现二叉树遍历(递归)
- 欢迎使用CSDN-markdown编辑器
- js模块化编程require.js学习摘记
- 2.1.5 Median of Two Sorted Arrays
- Unique Paths I | II leetcode
- Making Recommendations
- 【数据结构】Java实现图的DFS和BFS
- Lesson4 一阶方程代换法
- 《Docker入门》:安装ubuntu14.04镜像
- Nginx + Tomcat 实现动静分离
- RMI在外网不能通信的解决
- 【源码分享】-wpf界面源代码分享