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

पायथन में सबसे बड़े K-विभाज्य सबसीक्वेंस योग ज्ञात करने का प्रोग्राम


मान लीजिए हमें गैर-ऋणात्मक संख्याओं की एक सूची और एक धनात्मक मान k दिया गया है। हमें संख्याओं का अधिकतम योग वाला सबसीक्वेंस ढूंढना है जो k से विभाज्य हो।

उदाहरण के लिए, nums = [4,6,8,2], k=2 के लिए आउटपुट 20 होगा (पूरी सरणी का योग 20, जो 2 से विभाज्य है)।

एल्गोरिदम

  • numsSum := nums का योग, remainder := numsSum % k
  • यदि remainder == 0, तो numsSum वापस करें
  • nums को सॉर्ट करें
  • सभी संभावित सबसेट tpl के लिए:
    • subSeqSum := sum(tpl)
    • यदि subSeqSum % k == remainder, तो numsSum - subSeqSum वापस करें
  • 0 वापस करें

उदाहरण

from itertools import chain, combinations
class Solution:
    def solve(self, nums, k):
        numsSum = sum(nums)
        remainder = numsSum % k
        if remainder == 0: return numsSum
        nums.sort()
        for tpl in chain.from_iterable(combinations(nums, r) for r in range(1, len(nums)+1)):
            subSeqSum = sum(tpl)
            if subSeqSum % k == remainder:
                return numsSum - subSeqSum
        return 0

ob1 = Solution()
print(ob1.solve([4,6,8,2], 2))

इनपुट

[4, 6, 8, 2], 2

आउटपुट

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

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

  1. Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना

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

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

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