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

C++ में कैंडी बांटें


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

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

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

  • एक सेट को परिभाषित करें

  • प्रारंभ करने के लिए i:=0, जब i <कैंडीज का आकार, अद्यतन करें (i से 1 तक बढ़ाएं), करें -

    • कैंडीज [i] को s में डालें

  • कम से कम s का आकार और कैंडी का आकार / 2

    . लौटाएं

उदाहरण

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

#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);
   }
};
main(){
   Solution ob;
   vector<int> v = {1,1,2,3};
   cout << (ob.distributeCandies(v));
}

इनपुट

{1,1,2,3}

आउटपुट

2

  1. सी ++ में एन-आरी पेड़ में भी आकार उपट्री

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

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

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

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

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