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

C++ में टीमों की संख्या गिनें

मान लीजिए कि एक पंक्ति में n सैनिक खड़े हैं। यहां प्रत्येक सैनिक को एक अद्वितीय रेटिंग मान दिया जाता है। हमें निम्नलिखित नियमों का उपयोग करते हुए उनमें से 3 सैनिकों की एक टीम बनानी है -

इंडेक्स वाले 3 सैनिक चुनें (i, j, k) जैसे कि रेटिंग (रेटिंग[i], रेटिंग[j], रेटिंग[k])।

एक टीम मान्य होगी यदि - (रेटिंग[i] <रेटिंग[j] <रेटिंग[k]) या (रेटिंग[i]> रेटिंग[j]> रेटिंग[k])।

हमें यह पता लगाना होगा कि हम कितनी टीमें बना सकते हैं। (सैनिक कई टीमों का हिस्सा हो सकते हैं)।

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

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

  • रिट:=0, एन:=वी का आकार

  • इनिशियलाइज़ i:=0 के लिए, जब i

    • इनिशियलाइज़ j :=i + 1 के लिए, जब j

      • k :=j + 1 को इनिशियलाइज़ करने के लिए, जब k

        • अगर v[i]

          • (रिटर्न 1 से बढ़ाएं)

        • अन्यथा जब v[i]> v[j] और v[j]> v[k], तब -

          • (रिटर्न 1 से बढ़ाएं)

  • वापसी रिट

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   int numTeams(vector<int>& v) {
      int ret = 0;
      int n = v.size();
      for (int i = 0; i < n; i++) {
         for (int j = i + 1; j < n; j++) {
            for (int k = j + 1; k < n; k++) {
               if (v[i] < v[j] && v[j] < v[k])
                  ret++;
               else if (v[i] > v[j] && v[j] > v[k])
                  ret++;
            }
         }
      }
      return ret;
   }
};
main(){
   Solution ob;
   vector<int> v = {2,5,3,4,1};
   cout << (ob.numTeams(v));
}

इनपुट

{2,5,3,4,1}

आउटपुट

3

  1. सी++ पेंटाटोप नंबर

    पास्कल के त्रिभुज में एक पंचकोण संख्या को पाँचवीं संख्या के रूप में वर्णित किया गया है। अब, जैसा कि आप जानते हैं, यह पांचवीं संख्या है, तो इसका मतलब है कि हमारे पास पास्कल के त्रिकोण में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है। पास्कल त्रिभुज की

  1. C++ में एक आयत में वर्गों की संख्या गिनें

    =B. लक्ष्य उन वर्गों की संख्या का पता लगाना है जिन्हें LXB आकार का एक आयत समायोजित कर सकता है। ऊपर दिया गया चित्र 3 X 2 आकार का एक आयत दिखाता है। इसमें 2, 2X2 वर्ग और 6,1X1 वर्ग हैं। कुल वर्ग=6+2=8. LXB आकार के प्रत्येक आयत में L*B संख्या 1X1 वर्ग होती है। सबसे बड़े वर्ग BXB आकार के होते ह

  1. C++ में नाइस सबएरे की संख्या गिनें

    मान लीजिए कि हमारे पास पूर्णांक संख्याओं की एक सरणी है और एक पूर्णांक k है। एक सबअरे को अच्छा सबअरे के रूप में जाना जाता है यदि उस पर k विषम संख्याएँ हों। हमें अच्छे उप-सरणियों की संख्या ज्ञात करनी है। तो यदि सरणी [1,1,2,1,1] है, और k =3 है, तो आउटपुट 2 होगा, क्योंकि उप-सरणी [1,1,2,1] और [1,2,1] हैं