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

C++ में कैंडी वितरण


समस्या विवरण

मान लीजिए हमारे पास एक सम लंबाई की सरणी है, जहां अलग-अलग संख्याएं विभिन्न प्रकार की कैंडी को दर्शाती हैं। प्रत्येक संख्या संबंधित प्रकार की एक कैंडी को दर्शाती है। हमें कैंडी को भाई और बहन में समान संख्या में वितरित करना है। हमें उन कैंडी के प्रकारों की अधिकतम संख्या ज्ञात करनी है जो बहन को प्राप्त हो सकती हैं।

उदाहरण

यदि इनपुट है: [1,1,2,3], तो आउटपुट होगा 2, क्योंकि यदि हम मान लें कि बहन के पास कैंडी [2,3] हैं और भाई के पास [1,1] हैं। अब बहन के पास दो अलग-अलग प्रकार की कैंडी हैं, जबकि भाई के पास केवल एक प्रकार की कैंडी है।

हल करने का दृष्टिकोण

इस समस्या को हल करने के लिए निम्नलिखित चरणों का पालन करें:

  • एक सेट s परिभाषित करें
  • i := 0 से आरंभ करें, जब i < candies का आकार, i को 1 से बढ़ाते हुए:
    • candies[i] को s में डालें
  • s के आकार और candies के आकार / 2 का न्यूनतम लौटाएं

C++ कार्यान्वयन

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

class Solution {
public:
    int distributeCandies(vector<int>& candies) {
        unordered_set<int> s;
        for (int i = 0; i < candies.size(); i++)
            s.insert(candies[i]);
        return min(s.size(), candies.size() / 2);
    }
};

int main() {
    Solution ob;
    vector<int> v = {1,1,2,3};
    cout << (ob.distributeCandies(v));
    return 0;
}

इनपुट

{1,1,2,3}

आउटपुट

2
  1. C++ में n-ary ट्री में सम आकार के उपट्री C++ में n-ary ट्री में सम आकार के उपट्री

    इस समस्या में, हमें एक एडजेसेंसी लिस्ट दी गई है जो एक n-ary ट्री को दर्शाती है। हमारा कार्य n-ary ट्री में सम आकार के उपट्री की संख्या ढूंढना है। N-ary ट्री को नोड्स के संग्रह के रूप में परिभाषित किया गया है जिसे आमतौर पर निम्नलिखित तरीके से पदानुक्रमित रूप से दर्शाया जाता है। ट्री रूट नोड से शुरू

  1. - C++ में sizeof ऑपरेटर क्या है?

    sizeof एक कीवर्ड है, लेकिन यह एक कंपाइल-टाइम ऑपरेटर है जो बाइट्स में एक वेरिएबल या डेटा प्रकार का आकार निर्धारित करता है। sizeof ऑपरेटर का उपयोग क्लासेस, स्ट्रक्चर्स, यूनियन्स और किसी भी अन्य यूजर-डिफाइंड डेटा प्रकार के आकार को प्राप्त करने के लिए किया जा सकता है। sizeof का उपयोग करने का सिंटैक्स न

  1. - पायथन में लोगों को कैंडी वितरित करना

    मान लीजिए हम n लोगों की एक पंक्ति में कुछ कैंडीज वितरित करना चाहते हैं निम्न तरीके से: हम पहले व्यक्ति को 1 कैंडी देते हैं, दूसरे व्यक्ति को 2 कैंडीज, और इसी तरह जब तक हम अंतिम व्यक्ति को n कैंडीज नहीं दे देते। उसके बाद, हम पंक्ति की शुरुआत में वापस जाते हैं, पहले व्यक्ति को n + 1 कैंडीज देते हैं,