इस सरल चुनौती में आपको L
गैर-नकारात्मक पूर्णांक का एक इनपुट सरणी और b
0 से अधिक डिब्बे की संख्या दी जाती है, लेकिन लंबाई से अधिक नहीं L
। आपके कोड को एक नया सरणी वापस करना होगा, M
जिसकी लंबाई है b
और जिसने सरणी को बायन किया है L
। यह उदाहरणों के साथ सबसे आसान समझाया गया है।
L = [1,0,5,1]
और b = 2
लौटता है M = [1,6]
।
L = [0,3,7,2,5,1]
और b = 3
लौटता है M = [3,9,6]
।
अब तक, इतना सरल। हालांकि इस सवाल में b
जरूरी नहीं कि विभाजन हो len(L)
। इस मामले में अंतिम बिन को बनाने के लिए कम संख्या होगी।
संभवत: अंतिम को छोड़कर प्रत्येक बिन में कुल संख्या में समान संख्या होनी चाहिए। अंतिम बिन में अन्य डिब्बे की तुलना में अधिक संख्या में योगदान नहीं होना चाहिए। अंतिम बिन में उतने ही अंक होने चाहिए जितने अन्य नियमों के अधीन हो सके।
L = [0,3,7,2,5,1]
और b = 4
लौटता है M = [3,9,6,0]
। M = [10,8,0,0]
एक स्वीकार्य आउटपुट नहीं है क्योंकि तीसरे बिन में संख्याओं का नाम नहीं है जो इसे करने के लिए योगदान कर रहा है 1
और 2
।
L = [0,3,7,2,5]
और b = 2
लौटता है M = [10,7]
। M = [3, 14]
एक स्वीकार्य आउटपुट नहीं है क्योंकि अंतिम बिन में इसमें 3
योगदान करने वाले तत्व होंगे लेकिन पहला केवल है 2
।
L = [1,1,1,1,1,1,1]
और b = 3
लौटता है M = [3,3,1]
।
अंतिम नियम के रूप में, आपका कोड रैखिक समय में चलना चाहिए।
आप अपनी पसंद की किसी भी भाषा या पुस्तकालयों का उपयोग कर सकते हैं और मान सकते हैं कि इनपुट किसी भी तरह से आपको सुविधाजनक लगता है।
यह पता चला है कि कुछ इनपुट हैं जिन्हें हल नहीं किया जा सकता है। उदाहरण के लिए [1,1,1,1,1]
और b=4
। आपका कोड उन इनपुट के लिए जो कुछ भी पसंद करता है उसे आउटपुट कर सकता है।
your code must run in linear time
- मैं किसी भी एल्गोरिथ्म जो यह स्वाभाविक रूप से काफी अजीब पालन नहीं करता है मिलेगा