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

C++ . का उपयोग करके किसी सरणी में एकमात्र भिन्न तत्व खोजें

इस समस्या में, हमें n आकार का arr[] दिया जाता है। हमारा काम f . करना है एक सरणी में केवल भिन्न तत्व को इंड करें

सरणी में केवल दो अलग-अलग प्रकार के तत्व होते हैं। एक को छोड़कर सभी तत्व समान हैं।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

arr[] = {1, 1, 1, 2, 1, 1, 1, 1}

आउटपुट

2

समाधान दृष्टिकोण

समस्या को हल करने के लिए एक सरल दृष्टिकोण, हमें सरणी को पार करने और उन तत्वों को खोजने की आवश्यकता है जो सरणी के अन्य तत्वों से भिन्न हैं। इस दृष्टिकोण को O(N 2 . की समय जटिलता की आवश्यकता है )।

ओ (एन) में समस्या को हल करने के लिए एक और तरीका हैश टेबल का उपयोग तत्वों और उनकी घटना आवृत्ति को स्टोर करने के लिए करना है। और घटना की एकल आवृत्ति के साथ मान प्रिंट करें।

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम

#include <iostream>
using namespace std;
int findDiffElementArray(int arr[], int n){
   if (n == 1)
      return -1;
   if (n == 2)
      return arr[0];
   if (arr[0] == arr[1] && arr[0] != arr[2])
      return arr[2];
   if (arr[0] == arr[2] && arr[0] != arr[1])
      return arr[1];
   if (arr[1] == arr[2] && arr[0] != arr[1])
      return arr[0];
   for (int i = 3; i < n; i++)
      if (arr[i] != arr[i - 1])
         return arr[i];
         return -1;
}
int main(){
   int arr[] = { 5, 5, 1, 5, 5, 5, 5};
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"The different element in the array is "<<findDiffElementArray(arr, n);
   return 0;
}

आउटपुट

The different element in the array is 1

  1. C++ प्रोग्राम बाइनरी सर्च एप्रोच का उपयोग करके किसी सरणी के शिखर तत्व को खोजने के लिए

    इस सी ++ प्रोग्राम में, हम पाते हैं कि सरणी में चोटियों में से एक को बाइनरी खोज दृष्टिकोण का उपयोग करके पाया जा सकता है। यह एल्गोरिथ्म परिणाम के रूप में पाया गया पहला शिखर लौटाता है, जिसके परिणामस्वरूप एल्गोरिथ्म की समय जटिलता O(log(n)) है। एल्गोरिदम Begin    PeakElement() function has &ls

  1. C++ प्रोग्राम बाइनरी सर्च दृष्टिकोण का उपयोग करके किसी सरणी के न्यूनतम तत्व को खोजने के लिए

    रैखिक खोज दृष्टिकोण का उपयोग करके सरणी के न्यूनतम तत्व को खोजने के लिए यह एक सी ++ प्रोग्राम है। इस कार्यक्रम की समय जटिलता O(log(n)) है। एल्गोरिदम Begin Construct binary search tree for the given unsorted data array. To find out the minimum element move the pointer to the leftmost child node.

  1. C++ प्रोग्राम लीनियर सर्च का उपयोग करके किसी ऐरे में न्यूनतम तत्व ढूँढ़ने के लिए

    रैखिक खोज दृष्टिकोण का उपयोग करके सरणी के न्यूनतम तत्व को खोजने के लिए यह एक सी ++ प्रोग्राम है। इस कार्यक्रम की समय जटिलता O(n) है। एल्गोरिदम Begin Assign the data element to an array. Assign the value at ‘0’ index to minimum variable. Compare minimum with other data element se