हम एक सरणी दिया जाता है सभी के साथ एक [ मैं ] > 0 ।
अब हमें यह पता लगाने की जरूरत है कि इसके उपग्रहों से कितने अलग-अलग योग बन सकते हैं (जहां एक सबर्रे सरणी की एक सन्निहित सीमा है, अर्थात, , [[ j … k ] कुछ j , k , योग का योग है सबर्रे के तत्व)। उदाहरण के लिए, यदि a = [ 1 , 2 , 1 ] , तो उत्तर 4 है: हम 1 , 2 , 3 , 4 बना सकते हैं ।
मुझे पता है कि समय में विभिन्न योगों की संख्या कैसे गिना जाए ।
इसके अलावा, मुझे एहसास हुआ है कि यह शास्त्रीय समस्या के समान है जहां हमें एक स्ट्रिंग के अलग-अलग पदार्थों की संख्या खोजने की आवश्यकता है। मैं एक प्रत्यय सरणी के निर्माण और इसे इसी तरह से ( समय में) हल करने की संभावना के बारे में सोच रहा था । लेकिन मुझे यह पता नहीं चल पाया है कि यहाँ कैसे काम करना है। उदाहरण के लिए, यदि हम a = [ 1 , 2 , 1 ] के लिए प्रत्यय सरणी का उपयोग करते हैं, तो हमें चार स्वीकार्य के बजाय 5 मामले मिलेंगे। क्या प्रत्यय सरणियों का उपयोग करके ऐसा करना संभव है या क्या मैं गलत दिशा में सोच रहा हूं?
इसके अलावा एक और दिशा है जो मैं सोच रहा हूं। विभाजित और जीतना। जैसे अगर मैं सरणी को हर बार दो भागों में विभाजित करता हूं, जब तक कि यह एक तत्व तक कम न हो जाए। एक एकल तत्व में एक योग हो सकता है। अब अगर हम दो एकल तत्वों को मिलाते हैं, तो इसे दो तरीकों से किया जा सकता है: यदि दोनों एकल श्रेणियों में एक ही तत्व है, तो हमें 2 अलग-अलग रकम मिलती हैं, या यदि दोनों के अलग-अलग तत्व हैं, तो हमें 3 अलग-अलग रकम मिलती हैं। लेकिन मैं इसे सामान्य से अधिक लंबाई के सरणियों के विलय के लिए सामान्यीकृत नहीं कर पा रहा हूं। क्या दो मीटर आकार के सरणियों का विलय करना और में उत्तर प्राप्त करना संभव है ?