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

C में सरणी में समान तत्व की दो घटनाओं के बीच अधिकतम दूरी


हमें पूर्णांकों की एक सरणी दी गई है। सरणी में समान तत्वों की कई घटनाएं हैं। यहां कार्य सरणी में किन्हीं दो समान तत्वों के बीच अधिकतम दूरी ढूंढना है। हम सरणी के बाएं से शुरू करके प्रत्येक तत्व को चुनेंगे। फिर उस समान संख्या की अंतिम घटना ढूंढेंगे और सूचकांकों के बीच का अंतर संग्रहीत करेंगे। अब यदि यह अंतर अधिकतम है तो इसे लौटाएं।

इनपुट

Arr[] = { 1, 2, 4, 1, 3, 4, 2, 5, 6, 5 }

आउटपुट

सरणी में समान तत्व की दो घटनाओं के बीच अधिकतम दूरी: 4

व्याख्या

सूचकांकों के साथ दोहराने वाली संख्याएं:

1. 1, पहला सूचकांक 0, अंतिम सूचकांक 3 दूरी = 3-0-1 = 2 2. 2, पहला सूचकांक 1, अंतिम सूचकांक 6 दूरी = 6-1-1 = 4 3. 5, पहला सूचकांक 7, अंतिम सूचकांक 9 दूरी = 9-7-1 = 1 समान तत्व की दो घटनाओं के बीच अधिकतम दूरी: 4

इनपुट

Arr[] = { 10, 20, 1, 10, 10, 21, 12, 0 }

आउटपुट

सरणी में समान तत्व की दो घटनाओं के बीच अधिकतम दूरी: 3

व्याख्या

सूचकांकों के साथ दोहराने वाली संख्याएं:

1. 10 पहला सूचकांक 0, अंतिम सूचकांक 4 दूरी = 4-0-1 = 3 समान तत्व की दो घटनाओं के बीच अधिकतम दूरी: 3

नोट - यदि इनपुट सरणी में कोई दोहराने वाली संख्या नहीं है, तो -1 लौटाएं।

उपयोग किया गया दृष्टिकोण

  • हम दोहराने वाली संख्याओं वाली एक पूर्णांक सरणी Arr[] लेते हैं।

  • फ़ंक्शन maxDistance(int arr[], int n) समान तत्व की दो घटनाओं के बीच अधिकतम दूरी की गणना के लिए उपयोग किया जाता है।

  • हम चर maxD को -1 से प्रारंभ करते हैं।

  • फॉर लूप के अंदर सरणी के पूर्णांकों को शुरुआत से पार करते हैं।

  • नेस्टेड फॉर लूप में शेष तत्वों को पार करते हैं और पुनरावृत्तियों की खोज करते हैं (if (arr[i] == arr[j]))।

  • यदि सत्य है तो सूचकांकों को घटाकर संख्याओं के बीच का अंतर निकालें (temp = j - i - 1)।

  • यदि यह मान अब तक का अधिकतम है, तो इसे maxD में संग्रहीत करें।

  • पूरी सरणी पार करने के बाद maxD लौटाएं।

उदाहरण

#include <stdio.h> #include <math.h> int maxDistance(int arr[], int n){     int size = n;     int maxD = -1;     for (int i = 0; i < n - 1; i++)         for (int j = i + 1; j < n; j++)             if (arr[i] == arr[j]){                 int temp = abs(j - i - 1);                 maxD = maxD > temp ? maxD : temp;             }     return maxD; } // ड्राइवर कोड int main(){     int Arr[] = {1, 2, 4, 1, 3, 4, 2, 5, 6, 5};     printf("सरणी में समान तत्व की दो घटनाओं के बीच अधिकतम दूरी: %d", maxDistance(Arr, 10));     return 0; }

आउटपुट

उपरोक्त कोड चलाने पर निम्नलिखित आउटपुट उत्पन्न होगा:

सरणी में समान तत्व की दो घटनाओं के बीच अधिकतम दूरी: 4
  1. C++ में किसी भी शहर और स्टेशन के बीच अधिकतम दूरी खोजें C++ में किसी भी शहर और स्टेशन के बीच अधिकतम दूरी खोजें

    अवधारणा0 से N-1 तक संख्या वाले शहरों की दी गई संख्या N और जिन शहरों में स्टेशन स्थित हैं, के संबंध में, हमारा कार्य किसी भी शहर और उसके निकटतम स्टेशन के बीच अधिकतम दूरी निर्धारित करना है। यह ध्यान दिया जाना चाहिए कि स्टेशनों वाले शहर किसी भी क्रम में दिए जा सकते हैं।इनपुटnumOfCities = 6, stations =

  1. C++ में BST के दो नोड्स के बीच अधिकतम तत्व C++ में BST के दो नोड्स के बीच अधिकतम तत्व

    समस्या कथन N तत्वों का एक ऐरे और दो पूर्णांक A, B दिए गए हैं जो दिए गए ऐरे से संबंधित हैं। arr[0] से arr[n-1] तक तत्व डालकर एक बाइनरी सर्च ट्री बनाएं। कार्य A से B तक के पथ में अधिकतम तत्व ढूंढना है। उदाहरण यदि ऐरे है {24, 23, 15, 36, 19, 41, 25, 35} तो हम BST को निम्नानुसार बना सकते हैं: यदि हम

  1. - दो संख्याओं के बीच न्यूनतम दूरी खोजें C++ में

    मान लीजिए हमारे पास एक अनसॉर्टेड ऐरे A है, और दो संख्याएं x और y हैं। हमें A में x और y के बीच न्यूनतम दूरी खोजनी है। ऐरे में डुप्लीकेट तत्व भी हो सकते हैं। तो यदि ऐरे A = [2, 5, 3, 5, 4, 4, 2, 3] है, x = 3 और y = 2, तो 3 और 2 के बीच न्यूनतम दूरी केवल 1 है। इसे हल करने के लिए, हमें इन चरणों का पालना