Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में सबसीक्वेंस का अधिकतम योग खोजें जहां दो मानों का अंतर उनकी पोजीशन के अंतर के बराबर हो


मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हम सख्ती से बढ़ते मानों का एक सबसीक्वेंस चुनते हैं, जहां प्रत्येक दो संख्याओं का अंतर उनके दो इंडेक्स के अंतर के समान है। तो हमें ऐसे सबसीक्वेंस का अधिकतम योग ढूंढना है।

तो, यदि इनपुट nums = [6, 7, 9, 9, 8, 5] जैसा है, तो आउटपुट 22 होगा, क्योंकि हम सबसीक्वेंस [6, 7, 9] चुनते हैं जिनके इंडेक्स [0, 1, 3] हैं। प्रत्येक लगातार संख्या के बीच का अंतर [1, 2] है जो उनके इंडेक्स के अंतर के समान है।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:

  • d := एक खाली मैप
  • प्रत्येक इंडेक्स i और मान x nums में के लिए, करें
    • d[x - i] := d[x - i] + x
  • d में सभी मानों का अधिकतम लौटाएं

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

उदाहरण


class Solution:
    def solve(self, nums):
        from collections import defaultdict
        d = defaultdict(int)
        for i, x in enumerate(nums):
            d[x - i] += x
        return max(d.values())

ob1 = Solution()
nums = [6, 7, 9, 9, 8, 5]
print(ob1.solve(nums))

इनपुट

[6, 7, 9, 9, 8, 5]

आउटपुट

22
  1. - पायथन में सभी सन्निकट सबलिस्ट के योग का योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, अब हर सन्निकट सबअरे पर विचार करें। इनमें से प्रत्येक सबअरे का योग करें और इन सभी मानों का योग लौटाएं। अंत में, परिणाम को 10**9 + 7 से मोड करें। उदाहरण के लिए, यदि इनपुट है nums = [3, 4, 6], तो आउटपुट होगा 43, क्योंकि हमारे पास निम्नलिखित सबअरे ह

  1. Python प्रोग्राम में ऐरे का योग खोजना Python प्रोग्राम में ऐरे का योग खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे का योग निकालने की आवश्यकता है। पूरे ऐरे को पार करने और प्रत्येक इंडेक्स पर तत्व को जोड़कर योग प्राप्त करने का ब्रूट-फोर्स दृष्टिकोण नीचे चर्चा किया गया है। उदाहरण # sum फ़ंक्शन def

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें दिए गए ऐरे का योग निकालने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का पालन कर सकते हैं यानी एक लिस्ट को ट्रैवर्स करना और प्रत्येक एलिमें