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

न्यूनतम निरपेक्ष अंतर योग वाला ऐरे तत्व

यहां हम एक दिलचस्प समस्या देखेंगे। हम 'a' नामक N तत्वों वाला एक ऐरे ले रहे हैं। हमें एक तत्व x ढूंढना है जैसे कि |a[0] - x| + |a[1] - x| + ... + |a[n-1] - x| न्यूनतम हो। फिर हमें न्यूनतम योग ढूंढना है।

मान लीजिए ऐरे है: {1, 3, 9, 6, 3} अब x 3 है। तो योग है |1-3| + |3-3| + |9-3| + |6-3| + |3-3| = 11।

इस समस्या को हल करने के लिए, हमें ऐरे के माध्यिका को x के रूप में चुनना होगा। यदि ऐरे का आकार सम है, तो दो माध्यिका मान होंगे। उन दोनों में से कोई भी x का इष्टतम विकल्प होगा।

एल्गोरिदम

minSum(arr, n)

शुरुआत
    ऐरे arr को सॉर्ट करें
    sum := 0
    med := arr की माध्यिका
    arr में प्रत्येक तत्व e के लिए करें
        sum := sum + |e - med|
    पूर्ण
    sum वापस करें
समाप्त

उदाहरण

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

int minSum(int arr[], int n) {
    sort(arr, arr + n);
    int sum = 0;
    int med = arr[n / 2];
    for (int i = 0; i < n; i++) {
        sum += abs(arr[i] - med);
    }
    return sum;
}

int main() {
    int arr[5] = {1, 3, 9, 6, 3};
    int n = 5;
    cout << "Sum: " << minSum(arr, n);
    return 0;
}

आउटपुट

Sum: 11
  1. - C++ में निरपेक्ष अंतर के न्यूनतम योग वाला एरे तत्व

    यह प्रोग्राम दिए गए एरे के न्यूनतम निरपेक्ष अंतर को खोजने के लिए है जहां हमारे पास एक एरे है जिसमें विशिष्ट तत्व हैं। इस अवधारणा को बेहतर ढंग से सीखने के लिए, आइए आवश्यक चीजों को दोहराएं: एरे (Array) समान डेटा प्रकार के तत्वों का एक कंटेनर है। एरे की लंबाई पूर्वनिर्धारित होनी चाहिए। निरपेक्ष अंतर (

  1. - PHP प्रोग्राम: एरे में न्यूनतम एलिमेंट ढूंढना

    एरे में न्यूनतम मान ढूंढना उदाहरण <?php function get_min_value($my_array) { $n = count($my_array); $min_val = $my_array[0]; for ($i = 1; $i $my_array[$i]) { $min_val = $my_array[$i]; } } return $min_val; } $my_array = array(56, 78, 91, 44, 0, 11); print

  1. - पायथन में क्रमबद्ध सरणी में निरपेक्ष अंतरों का योग ज्ञात करने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक एक सरणी है और यह गैर-घटते क्रम में क्रमबद्ध है। हमें result नामक एक सरणी बनानी है जिसकी लंबाई nums के समान हो जैसे कि result[i], nums[i] और सरणी के अन्य सभी तत्वों के बीच निरपेक्ष अंतरों का योग हो। इसलिए, यदि इनपुट है nums = [5,7,12], तो आउटपुट [9, 7, 12] होगा क्योंकि