#include <algorithm> #include <vector> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param herd1 int整型vector * @param herd2 int整型vector * @param herd3 int整型vector * @return double浮点型 */ double findMedianSortedArray(vector<int>& herd1, vector<int>& herd2, vector<int>& herd3) { // write code here vector<int>ve; int l1 = herd1.size(); int l2 = herd2.size(); int l3 = herd3.size(); for (int i = 0; i < l1; ++i) ve.push_back(herd1[i]); for (int i = 0; i < l2; ++i) ve.push_back(herd2[i]); for (int i = 0; i < l3; ++i) ve.push_back(herd3[i]); int n = ve.size(); sort(ve.begin(), ve.end()); // return ve[n / 2-1]; if (n % 2 == 1) return ve[n / 2]; else return (ve[n / 2] + ve[n / 2 - 1]) * 1.0 / 2 ; } };
一、题目考察的知识点
数组
二、题目解答方法的文字分析
和前面一个题的思路一样,就是把所有数组存进去一个数组,然后进行排序,最后输出中间值就行
三、本题解析所用的编程语言
c++