有序的两个数组在满足其中一个数组的所有数都小于另外一个数组的情况下的整体的中位数
生活随笔
收集整理的這篇文章主要介紹了
有序的两个数组在满足其中一个数组的所有数都小于另外一个数组的情况下的整体的中位数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡述
給定兩個有序數組,且其中一個有序數組的最大值小于等于另外一個數組的最小值。
得到這兩個數組整合起來的數組的中位數。
代碼
#include<iostream> using namespace std; #include<vector>double findMedianTwoSortArrays(vector<int>& nums1, vector<int>& nums2) {// assert "nums1[n] <= nums2[0]"int n = nums1.size(), m = nums2.size();if ((n + m) % 2 == 1) {int mid = (n + m) / 2;if (n <= mid) {return nums2[mid - n];}else return nums1[mid];}else {int m1 = (n + m) / 2 - 1, m2 = (n + m) / 2 ;int n1, n2;if (n <= m1) {n1 = nums2[m1 - n];}else n1 = nums1[m1];if (n <= m2) {n2 = nums2[m2 - n];}else n2 = nums1[m2];cout << n1 << " " << n2 << endl;return (n1 + n2) / 2.;} }int main() {vector<int> v1({ 1, }), v2({3, 4,});cout << findMedianTwoSortArrays(v1, v2) << endl;system("pause"); }總結
以上是生活随笔為你收集整理的有序的两个数组在满足其中一个数组的所有数都小于另外一个数组的情况下的整体的中位数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有序数组给定始末的中位数c++
- 下一篇: 合并两个有序链表(C++)