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

सी ++ प्रोग्राम हटाने के संचालन के बाद सरणी के कम आकार को खोजने के लिए

मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है। विचार करें कि n धनात्मक पूर्णांकों वाला एक पासवर्ड है। हम सरणी पर निम्नलिखित ऑपरेशन लागू करते हैं। संचालन दो आसन्न तत्वों को हटाने के लिए है जो एक दूसरे के समान नहीं हैं, फिर उस स्थान पर अपना योग डालें। तो यह ऑपरेशन सरणी के आकार को 1 से कम कर देगा। हमें इन परिचालनों को करने के बाद सरणी की सबसे छोटी संभव लंबाई ढूंढनी होगी।

इसलिए, यदि इनपुट ए =[2, 1, 3, 1] जैसा है, तो आउटपुट 1 होगा, क्योंकि अगर हम (1, 3) चुनते हैं, तो सरणी [2, 4, 1] होगी, फिर चुनें (2, 4) सरणी [6, 1] बनाने के लिए, फिर [7] प्राप्त करने के लिए अंतिम दो का चयन करें।

कदम

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

n := size of A
Define one set se
for initialize i := 0, when i < n, update (increase i by 1), do:
   insert A[i] into se
if size of se is same as 1, then:
   return n
Otherwise
   return 1

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;

int solve(vector<int> A) {
   int n = A.size();
   set<int> a;
   for (int i = 0; i < n; i++) {
      a.insert(A[i]);
   }
   if (a.size() == 1)
      return n;
   else
      return 1;
}
int main() {
   vector<int> A = { 2, 1, 3, 1 };
   cout << solve(A) << endl;
}

इनपुट

{ 2, 1, 3, 1 }

आउटपुट

1

  1. C++ में एक लाइन के मध्य-बिंदु को खोजने का प्रोग्राम

    इस समस्या में, हमें दो बिंदु A और B दिए गए हैं, जो एक रेखा के आरंभ और अंत बिंदु हैं। हमारा काम C++ में एक लाइन के मध्य-बिंदु को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण - यहाँ, हमारे पास एक रेखा है जिसमें शुरुआती और अंत बिंदु A(x1, y1) और B(x2, y2) हैं। और हमें रेखा के मध्य-बिंदु को खोजन

  1. C++ में त्रिभुज के केंद्रक को खोजने का कार्यक्रम

    इस समस्या में, हमें एक 2D सरणी दी गई है जो त्रिभुज के तीन शीर्षों के निर्देशांकों को दर्शाती है। हमारा काम C++ में त्रिभुज के Centroid को खोजने के लिए एक प्रोग्राम बनाना है। सेंट्रोइड त्रिभुज का वह बिंदु है जिस पर त्रिभुज की तीन माध्यिकाएं प्रतिच्छेद करती हैं। माध्यिका त्रिभुज की वह रेखा है जो त्र

  1. C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने का कार्यक्रम

    इस समस्या में, हमें दो मान दिए गए हैं जो समांतर चतुर्भुज के आधार और ऊंचाई को दर्शाते हैं। हमारा कार्य C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने के लिए एक प्रोग्राम बनाना है। समांतर चतुर्भुज एक चार भुजा बंद आकृति है जिसकी विपरीत भुजाएँ एक दूसरे के समान और समानांतर हैं। समस्या को समझने के लि