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

सी ++ कोड दिए गए सरणी के स्थानीय एक्स्ट्रेमा की गणना करने के लिए

मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है। इस सरणी के कुछ तत्व A[i] को स्थानीय न्यूनतम कहा जाता है यदि और केवल अगर यह अपने दोनों पड़ोसियों से सख्ती से कम है। इसके अलावा अगर यह अपने पड़ोसियों से सख्ती से बड़ा है तो यह स्थानीय अधिकतम होगा। ए [0] और ए [एन -1] के लिए केवल एक पड़ोसी होने के कारण वे मैक्सिमा या मिनिमा नहीं हैं। हमें दिए गए ऐरे में स्थानीय एक्स्ट्रेमा की संख्या ज्ञात करनी है।

इसलिए, यदि इनपुट ए =[1, 5, 2, 5] जैसा है, तो आउटपुट 2 होगा, क्योंकि ए [1] पर 5 स्थानीय मैक्सिमा है और ए [2] पर 2 स्थानीय मिनीमा है।

कदम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

sum := 0
n := size of A
for initialize i := 1, when i < n - 1, update (increase i by 1), do:
   if (A[i] < A[i - 1] and A[i] < A[i + 1]) or (A[i] > A[i + 1] and A[i] > A[i - 1]), then:
      (increase sum by 1)
   return sum

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
int solve(vector<int> A){
   int sum = 0;
   int n = A.size();
   for (int i = 1; i < n - 1; i++)
      if ((A[i] < A[i - 1] && A[i] < A[i + 1]) || (A[i] > A[i + 1] && A[i] > A[i - 1]))
         sum++;
   return sum;
}
int main(){
   vector<int> A = { 1, 5, 2, 5 };
   cout << solve(A) << endl;
}

इनपुट

{ 1, 5, 2, 5 }

आउटपुट

2

  1. सी ++ में एक सरणी में अलग-अलग तत्वों की गणना करें

    हमें दोहराए जाने वाले तत्वों वाले किसी भी आकार की एक क्रमबद्ध सरणी दी जाती है और कार्य एक सरणी में अलग-अलग तत्वों की गिनती की गणना करना है। एक प्रकार की डेटा संरचना को व्यवस्थित करता है जो एक ही प्रकार के तत्वों के एक निश्चित आकार के अनुक्रमिक संग्रह को संग्रहीत कर सकता है। डेटा के संग्रह को संग्रह

  1. C++ में दी गई श्रेणी में भाज्य संख्याओं की गणना करें

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

  1. सी ++ में क्रमबद्ध बाइनरी सरणी में 1 की गणना करें

    इस ट्यूटोरियल में, हम एक क्रमबद्ध बाइनरी एरे में 1 को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें केवल 1 और 0 वाली एक सरणी प्रदान की जाएगी। हमारा कार्य सरणी में मौजूद 1 की संख्या को गिनना है। उदाहरण #include <bits/stdc++.h> using namespace std; //returning the count of 1 int coun