परिचय:
इन दो एसओ प्रश्नों (एक ही वर्ग से कोई संदेह नहीं) से प्रेरित: आसन्न तत्वों जावा और बिना किसी सरणी के गैर आसन्न तत्वों की अधिकतम राशि के सबर्रे में तत्वों को मुद्रित करें ।
चुनौती:
पूर्णांकों की एक सूची को देखते हुए, गैर-आसन्न तत्वों से मिलकर एक परिणाम उत्पन्न करता है जिसमें सबसे अधिक राशि होती है। यहाँ कुछ उदाहरण हैं:
[1,2,3,-1,-3,2,5]
0-आधारित सूचकांकों में[1,3,5]
(एक राशि के साथ9
) परिणाम होगा[0,2,6]
।[4,5,4,3]
या तो में परिणाम होगा[4,4]
(की राशि के साथ8
0-आधारित सूचकांक में)[0,2]
या[5,3]
(भी की राशि के साथ8
0-आधारित सूचकांक पर)[1,3]
।[5,5,10,100,10,5]
या तो 0-आधारित सूचकांकों में या[5,100,5]
(एक राशि के साथ110
) में परिणाम होगा ।[0,3,5]
[1,3,5]
उपरोक्त इन उदाहरणों के बारे में सबसे महत्वपूर्ण बात यह है कि तत्वों वाले सूचकांक एक दूसरे से कम से कम 2 अलग हैं। यदि हम उदाहरण को [5,5,10,100,10,5]
और गहराई से देखते हैं: हमारे पास निम्नलिखित क्षमता है जिसमें गैर-आसन्न आइटम हैं; इसके नीचे उनके सूचकांकों के साथ; नीचे उनकी रकम के साथ:
[[5],[10],[100],[10],[5],[5],[100,5],[10,5],[10,10],[5,5],[5,10],[5,100],[5,5],[5,10],[5,100],[5,10],[5,100,5],[5,100,5],[5,10,5],[5,10,10]] // non-adjacent subsequences
[[5],[ 4],[ 3],[ 2],[1],[0],[ 3,5],[ 2,5],[ 2, 4],[1,5],[1, 4],[1, 3],[0,5],[0, 4],[0, 3],[0, 2],[1, 3,5],[0, 3,5],[0, 2,5],[0, 2, 4]] // at these 0-based indices
[ 5, 10, 100, 10, 5, 5, 105, 15, 20, 10, 15, 105, 10, 15, 105, 15, 110, 110, 20, 25] // with these sums
^ ^ // and these two maximums
चूंकि अधिकतम राशि हैं 110
, इसलिए हम [5,100,5]
परिणाम के रूप में आउटपुट करते हैं।
चुनौती नियम:
- आपको इंडेक्स + मान के कुंजी-वैल्यू जोड़े को आउटपुट करने की अनुमति है। तो इसके बजाय
[5,100,5]
आप आउटपुट कर सकते हैं[[0,5],[3,100],[5,5]]
या[[1,5],[3,100],[5,5]]
परिणाम के रूप में (या[[1,5],[4,100],[6,5]]
/[[2,5],[4,100],[6,5]]
जब 1-आधारित इंडेक्सिंग का उपयोग 0-आधारित के बजाय किया जाता है)।- यदि आप कुंजी-मूल्य वाले जोड़े का उपयोग करते हैं, तो वे रिवर्स या यादृच्छिक क्रम में भी हो सकते हैं, क्योंकि यह स्पष्ट है कि युग्मित सूचकांक के कारण कौन से मूल्य हैं।
- मूल्यों के बिना सिर्फ सूचकांकों का आउटपुट देने की अनुमति नहीं है। इसे या तो मानों को आउटपुट देना चाहिए, या कुंजी-मूल्य जोड़े के रूप में मान / सूचकांक (या 'आकार की' और 'मान' के लिए दो अलग-अलग सूचियां यदि आपकी पसंद की भाषा में कुंजी-मूल्य जोड़े संभव नहीं हैं)।
- आपको केवल एक के बजाय अधिकतम राशि के साथ सभी संभव नतीजों को आउटपुट करने की अनुमति है।
- जैसा कि आप उदाहरणों से देख सकते हैं, इनपुट-सूची में नकारात्मक और डुप्लिकेट किए गए मान हो सकते हैं। आप मान सकते हैं कि इनपुट-पूर्णांक सीमा के भीतर हैं ।
- आउटपुट-सूची खाली नहीं हो सकती है और इसमें हमेशा कम से कम एक तत्व होना चाहिए (यदि एक सूची में केवल नकारात्मक मान होंगे, एक सूची जिसमें सबसे कम ऋणात्मक मान होता है तो परिणाम के रूप में आउटपुट होगा - पिछले दो परीक्षण मामलों को देखें)।
- यदि एक संभव आउटपुट है, लेकिन कई अलग-अलग सूचकांकों के लिए, तो यह उन दोनों को आउटपुट करने की अनुमति देता है, भले ही वे डुप्लिकेट दिखें। (यानी उपरोक्त उदाहरण,
[[5,100,5],[5,100,5]]
दोनों संभावित सूचकांक-संयोजनों के लिए आउटपुट हो सकता है )।
परीक्षण के मामलों:
Input: Possible outputs: At 0-based indices: With sum:
[1,2,3,-1,-3,2,5] [1,3,5] [0,2,6] 9
[4,5,4,3] [4,4]/[5,3] [0,2]/[1,3] 8
[5,5,10,100,10,5] [5,100,5] [0,3,5]/[1,3,5] 110
[10] [10] [0] 10
[1,1,1] [1,1] [0,2] 2
[-3,7,4,-2,4] [7,4] [1,4] 11
[1,7,4,-2] [7] [1] 7
[1,2,-3,-4,5,6,-7] [2,6] [1,5] 8
[800,-31,0,0,421,726] [800,726]/[800,0,726] [0,5]/[0,3,5]/[0,2,5] 1526
[-1,7,8,-5,40,40] [8,40] [2,4]/[2,5] 48
[-5,-18,-3,-1,-10] [-1] [3] -1
[0,-3,-41,0,-99,-2,0] [0]/[0,0]/[0,0,0] [0]/[3]/[6]/[0,3]/
[0,6],[3,6]/[0,3,6] 0
powerset
सबसेट का एक सेट है ना? लेकिन ऐसा लगता है कि आप बाद के सेटों को वापस कर रहे हैं? [4,5,4,3] का परिणाम या तो [4,4] होगा जहां [4,4] स्पष्ट रूप से सेट नहीं है।
[5,100,5]
दो बार अपने तीसरे उदाहरण के लिए।