Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में माध्यिका को x के बराबर बनाने के लिए जोड़े जाने वाले न्यूनतम तत्व

समस्या कथन

आकार n की एक सरणी "arr" और तत्व x दिया गया है, सरणी में जोड़े जाने वाले न्यूनतम तत्वों की संख्या ढूंढें ताकि माध्यिका (median) x के बराबर हो जाए।

लंबाई n की सरणी में माध्यिका वह तत्व है जो तत्वों को गैर-घटते क्रम में सॉर्ट करने के बाद स्थिति (n-1)/2 पर आता है। उदाहरण के लिए, नीचे दी गई सरणी में माध्यिका 20 है: arr1[] = {10, 20, 30, 40}

यदि arr[] = {1, 2, 3} और x = 4, तो हमें सरणी में 4 संख्याएं यानी {4, 5, 5, 5} जोड़नी होंगी ताकि माध्यिका 4 के बराबर हो जाए।

एल्गोरिदम

एल्गोरिदम बहुत सरल है। हमें सरणी में तब तक एक संख्या x जोड़नी है जब तक सरणी की माध्यिका x के बराबर न हो जाए।

C++ उदाहरण

#include <iostream>
#include <algorithm>
using namespace std;

int minNumbersToBeAdded(int *arr, int n, int x) {
    sort(arr, arr + n);
    int cnt = 0;
    while (arr[(n - 1) / 2] != x) {
        arr[n] = x;
        ++n;
        sort(arr, arr + n);
        ++cnt;
    }
    return cnt;
}

int main() {
    int arr[20] = {1, 2, 3};
    int x = 4, n = 3;
    cout << "Minimum numbers to be added = " << minNumbersToBeAdded(arr, n, x) << endl;
    return 0;
}

आउटपुट

Minimum numbers to be added = 4
  1. - C++ में सरणी को अच्छा बनाने के लिए हटाए जाने वाले न्यूनतम तत्व

    समस्या कथन एक सरणी arr दी गई है, सरणी को अच्छा बनाने के लिए हटाए जाने वाले न्यूनतम तत्वों की संख्या ढूंढें। एक अनुक्रम a1, a2, a3...an को अच्छा कहा जाता है यदि प्रत्येक तत्व a[i] के लिए, एक तत्व a[j] (i ≠ j) मौजूद होता है जैसे कि a[i] + a[j] 2 की घात हो। arr1[] = {1, 1, 7, 1, 5} उपरोक्त सरणी में यदि

  1. - C++ में स्ट्रिंग को पालिंड्रोम बनाने के लिए न्यूनतम विलोपन

    समस्या कथन आकार n की एक स्ट्रिंग दी गई है। स्ट्रिंग को पालिंड्रोम बनाने के लिए न्यूनतम वर्णों को हटाने का कार्य है। यदि दी गई स्ट्रिंग abcda है, तो हम पहले और अंतिम को छोड़कर किन्हीं 2 वर्णों को हटा सकते हैं ताकि यह पालिंड्रोम बन जाए। यदि हम b और c हटाते हैं तो ada स्ट्रिंग पालिंड्रोम है यद

  1. - C++ में किसी संख्या के गुणनखंडों का न्यूनतम योग ढूंढना

    यहां हम देखेंगे कि किसी दी गई संख्या के गुणनखंडों का न्यूनतम योग कैसे प्राप्त करें। मान लीजिए एक संख्या 12 है। हम इसे अलग-अलग तरीकों से गुणनखंडित कर सकते हैं: 12 = 12 × 1 (12 + 1 = 13) 12 = 2 × 6 (2 + 6 = 8) 12 = 3 × 4 (3 + 4 = 7) 12 = 2 × 2 × 3 (2 + 2 + 3 = 7) न्यूनतम योग 7 है। हम