"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > . नींबू पानी परिवर्तन

. नींबू पानी परिवर्तन

2024-08-19 को प्रकाशित
ब्राउज़ करें:494

. Lemonade Change

860। नींबू पानी परिवर्तन

कठिनाई: आसान

विषय: सरणी, लालची

एक नींबू पानी स्टैंड पर, प्रत्येक नींबू पानी की कीमत $5 है। ग्राहक आपसे खरीदारी करने और एक समय में एक ऑर्डर करने के लिए कतार में खड़े हैं (बिल द्वारा निर्दिष्ट क्रम में)। प्रत्येक ग्राहक केवल एक नींबू पानी खरीदेगा और $5, $10, या $20 के बिल के साथ भुगतान करेगा। आपको प्रत्येक ग्राहक को सही परिवर्तन प्रदान करना होगा ताकि शुद्ध लेनदेन यह हो कि ग्राहक $5 का भुगतान करे।

ध्यान दें कि शुरुआत में आपके हाथ में कोई बदलाव नहीं है।

एक पूर्णांक सरणी बिल दिया गया है जहां बिल[i] वह बिल है जिसका भुगतान मैंवां ग्राहक करता है, यदि आप प्रत्येक ग्राहक को सही परिवर्तन प्रदान कर सकते हैं तो सही लौटाएं, अन्यथा गलत लौटाएं .

उदाहरण 1:

  • इनपुट: बिल = [5,5,5,10,20]
  • आउटपुट: सत्य
  • स्पष्टीकरण:
    • पहले 3 ग्राहकों से, हम क्रम से तीन $5 बिल एकत्र करते हैं।
    • चौथे ग्राहक से, हम 10 डॉलर का बिल लेते हैं और 5 डॉलर वापस देते हैं।
    • पांचवें ग्राहक से, हम 10 डॉलर का बिल और 5 डॉलर का बिल देते हैं।
    • चूंकि सभी ग्राहकों को सही परिवर्तन मिला, हम सही आउटपुट देते हैं।

उदाहरण 2:

  • इनपुट: बिल = [5,5,10,10,20]
  • आउटपुट: गलत
  • स्पष्टीकरण:
    • पहले दो ग्राहकों से, हम $5 के दो बिल एकत्र करते हैं।
    • अगले दो ग्राहकों के लिए, हम 10 डॉलर का बिल लेते हैं और 5 डॉलर का बिल वापस देते हैं।
    • अंतिम ग्राहक के लिए, हम $15 के खुले पैसे वापस नहीं दे सकते क्योंकि हमारे पास केवल $10 के दो बिल हैं।
    • चूंकि प्रत्येक ग्राहक को सही परिवर्तन नहीं मिला, इसलिए उत्तर गलत है।

प्रतिबंध:

  • 5
  • बिल[i] या तो 5, 10, या 20 है।

समाधान:

हमें ग्राहकों द्वारा भुगतान किए जाने वाले बिलों के आधार पर उन्हें परिवर्तन प्रदान करने की प्रक्रिया का अनुकरण करने की आवश्यकता है। मुख्य बात यह है कि आपके पास मौजूद $5 और $10 के बिलों की संख्या को ट्रैक करना है, क्योंकि बड़े बिलों में परिवर्तन प्रदान करने के लिए इनकी आवश्यकता होती है

आइए इस समाधान को PHP में लागू करें: 860। नींबू पानी परिवर्तन

स्पष्टीकरण:

  1. आरंभीकरण: हम $पांच और $दस को 0 पर सेट करके शुरू करते हैं, जो हमारे पास मौजूद $5 और $10 बिलों की संख्या को दर्शाता है।

  2. प्रत्येक बिल को संसाधित करना:

    • यदि ग्राहक $5 बिल के साथ भुगतान करता है: हम बस $5 बिल की गिनती बढ़ा देते हैं।
    • यदि ग्राहक $10 के बिल के साथ भुगतान करता है: हमें परिवर्तन के रूप में एक $5 का बिल वापस देना होगा, इसलिए हम $5 के बिल की गिनती घटा देते हैं और $10 के बिल की गिनती बढ़ा देते हैं। यदि हमारे पास $5 का कोई बिल नहीं है, तो गलत वापसी करें।
    • यदि ग्राहक $20 बिल के साथ भुगतान करता है: हम परिवर्तन के रूप में एक $10 बिल और एक $5 बिल देने को प्राथमिकता देते हैं। यदि यह संभव नहीं है, तो हम तीन $5 बिल देने का प्रयास करते हैं। यदि कोई भी विकल्प उपलब्ध नहीं है, तो गलत वापसी करें।
  3. अंतिम जांच: यदि हमने परिवर्तन समाप्त हुए बिना सभी ग्राहकों को सफलतापूर्वक संसाधित कर लिया है, तो सही लौटें।

किनारे के मामले:

  • फ़ंक्शन को उन परिदृश्यों को संभालना चाहिए जहां सही परिवर्तन देना असंभव है, जैसे कि जब आपको आवश्यक $5 बिल के बिना $10 या $20 का बिल बहुत जल्दी प्राप्त हो जाता है।
  • इसे बाधाओं (100,000 ग्राहकों तक) के कारण बड़े इनपुट आकार को कुशलतापूर्वक संभालना चाहिए। समाधान O(n) समय जटिलता में चलता है, जो इसे इस समस्या के लिए इष्टतम बनाता है।

संपर्क लिंक

यदि आपको यह श्रृंखला उपयोगी लगी, तो कृपया रिपॉजिटरी को GitHub पर एक स्टार देने या पोस्ट को अपने पसंदीदा सोशल नेटवर्क पर साझा करने पर विचार करें। आपका समर्थन मेरे लिए बहुत मायने रखेगा!

यदि आप इस तरह की और अधिक उपयोगी सामग्री चाहते हैं, तो बेझिझक मुझे फ़ॉलो करें:

  • लिंक्डइन
  • गिटहब
विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/mbarifulhaque/860-lemonade-change-49jm?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3