एक बैग , जिसे मल्टीसेट भी कहा जाता है, एक अनियोजित संग्रह है। आप इसे एक ऐसा सेट कह सकते हैं जो डुप्लिकेट, या एक सूची (या एक सरणी) की अनुमति देता है जो कि आदेशित / अनुक्रमित नहीं है। इस चुनौती में, आपको बैग संचालन को लागू करने के लिए कहा जाता है: इसके अलावा, अंतर, गुणा, भाग, गिनती और समानता परीक्षण।
संचालन
निर्दिष्ट संचालन पारंपरिक नहीं हो सकता है।
- इसके अलावा प्रत्येक मूल्य की कुल संख्या को संरक्षित करते हुए, दो बैग को एक में जोड़ा जाता है
[1,2,2,3] + [1,2,4] = [1,1,2,2,2,3,4]
- अंतर एक बैग से दूसरे बैग के प्रत्येक तत्व को हटा देता है, या ऐसा कोई तत्व नहीं होने पर कुछ भी नहीं करता है
[1,2,2,4] - [1,2] = [2,4]
[1,2,3] - [2,4] = [1,3]
- गुणन बैग में प्रत्येक तत्व को गुणा करता है।
[1,2,3,3,4] * 3 = [1,1,1,2,2,2,3,3,3,3,3,3,4,4,4]
2 * [1,3] = [1,1,3,3]
- विभाजन एक असामान्य है: प्रत्येक n समान तत्व n बराबर नए बैग में रखे जाते हैं, ऐसे तत्व जो n-group नहीं बना सकते हैं वे बैग में बने रहते हैं। किसी भी नए बैग को वापस करें।
[1,1,2,2,2] / 2 = [1,2]
[1,2,2,3,3,3] / 3 = [3]
- गिनती मायने रखता है कि कितने भाजक बैग लाभांश बैग से उत्पादन किया जा सकता
[1,1,2,2,2,2,3,3,3] c [1,2,3] = 2
- समानता परीक्षण जाँचता है कि क्या दो बैग में प्रत्येक तत्व की समान संख्या है
[1,2,2,3] == [3,2,1,2] = truthy
[1,2,3] == [1,2,2,3] = falsy
(इसके लिए भी उपयोग कर सकते हैं=
)
यदि आप ऑपरेटरों के लिए अपने स्वयं के प्रतीकों का उपयोग कर रहे हैं, तो कृपया निर्दिष्ट करें।
प्रारूप
बैग को फॉर्म की सूचियों के रूप में प्रदर्शित किया जाएगा [1,1,2,3,4]
। आप वर्ग वाले की तुलना में किसी अन्य ब्रैकेट का उपयोग कर सकते हैं, या यहां तक कि उद्धरणों का उपयोग भी कर सकते हैं, या कुछ भी नहीं। int
इस प्रश्न के उद्देश्य के लिए तत्व पूर्णांक होंगे (गणितीय रूप से, आवश्यक नहीं )। बैग को छांटना नहीं है।
इनपुट प्रारूप दो बैग या एक बैग और एक पूर्णांक, एक ऑपरेटर के साथ किया जाएगा। आप अपने स्वयं के प्रारूप को तब तक निर्दिष्ट कर सकते हैं जब तक इसमें ये तीन शामिल हों।
उत्पादन प्रारूप ही स्वरूप की एक एकल बैग होना चाहिए।
नियम
- हो सकता है कि आप इन कार्यों को पहले से ही लागू करने वाले (मानक पुस्तकालय सहित) निर्मित कार्यों, संचालन या पुस्तकालयों का उपयोग न करें; हालांकि यह सूची सुगमता और गुणन का उपयोग करने के लिए ठीक है क्योंकि वे परिभाषा सूची संचालन द्वारा हैं, न कि बैग संचालन (जो मूल रूप से एक ही काम करते हैं)
- मानक खामियों लागू होते हैं
- सबसे छोटी उत्तर जीत
परीक्षण के मामलों
[1,2,2,3] + [1,2,4]
[1,1,2,2,2,3,4]
[1,2,2,4] - [1,2]
[2,4]
[1,2,3] - [2,4]
[1,3]
[1,2,3,3,4] * 3
[1,1,1,2,2,2,3,3,3,3,3,3,4,4,4]
2 * [1,3]
[1,1,3,3]
[1,1,2,2,2] / 2
[1,2]
[1,2,2,3,3,3] / 3
[3]
[1,1,2,2,2,2,3,3,3] c [1,2,3]
2
[3,2,1,2] == [1,2,2,3]
truthy
[1,2,3] == [1,2,2,3]
falsy