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
-
C++でのK否定後の配列合計を最大化する
問題の説明 サイズnと数kの配列が与えられます。配列をk回変更する必要があります。 配列の変更とは、各操作で、配列要素arr [i]を否定することで置き換えることができることを意味します。つまり、arr [i] =-arr[i]です。タスクは、k回の操作の後、配列の合計が最大になるようにこの操作を実行することです。 input arr [] ={7、-3、5、4、-1}の場合、最大合計は20になります。 最初に-3を否定します。これで、配列は{7、3、5、4、-1}になります 負の-1。これで、配列は{7、3、5、4、1}になります アルゴリズム 1. Replace the min
-
C++でのstatic_cast
static_castは、通常/通常の型変換に使用されます。これは、暗黙的な型強制の原因となるキャストでもあり、明示的に呼び出すこともできます。 floatをintに、charをintに変換する場合などに使用する必要があります。これにより、関連する型クラスをキャストできます。 例 #include <iostream> using namespace std; int main() { float x = 4.26; int y = x; // C like cast int z = static_cas