C ++中K个其他整数之后的中位数
在这个问题中,我们给了一个n个整数的数组,然后将K个元素添加到该数组中,然后找到所得数组的中位数。给定条件,N+k是奇数。
让我们举个例子来了解这个问题,
输入-
array = {23, 65, 76, 67} ; k =1输出-
67
为了解决这个问题,我们将给定的元素按升序排序,然后在数组的末尾添加k个元素,即,我们将使用k个更大的元素。
给出的条件是n+k为奇数。因此,可以使用公式(n+k)/2来计算中位数。
示例
查找中位数的程序,
#include <bits/stdc++.h>
using namespace std;
int findMedianAfterK(int arr[], int n, int K) {
sort(arr, arr + n);
return arr[((n + K)/2)];
}
int main() {
int array[] = {3,56, 8, 12, 67, 10 };
int k = 3;
int n = sizeof(array) / sizeof(array[0]);
cout<<"The median after adding "<<k<<" elements is "<<findMedianAfterK(array, n, k);
return 0;
}输出结果
The median after adding 3 elements is 56
热门推荐
10 圣诞祝福语简短小学
11 祖国七十华诞简短祝福语
12 老师送的祝福语简短
13 生日祝福语大全女生简短
14 祝女性生日祝福语简短
15 牛年女神节祝福语简短
16 情人表白祝福语简短大气
17 老公开业祝福语简短
18 官宣新年祝福语简短