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

आयत का योग ज्ञात करने का कार्यक्रम जिसका योग पायथन में अधिकतम k है

मान लीजिए कि हमारे पास 2d मैट्रिक्स है और दूसरा मान k है, हमें आयत का सबसे बड़ा योग ज्ञात करना है जहां योग k है।

तो, अगर इनपुट पसंद है

5 −2
7 10

और k =15, तो आउटपुट 12 होगा, क्योंकि हम आयत [5, 7] को 15 से कम 12 का योग प्राप्त करने के लिए ले सकते हैं।

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

  • n :=एक की पंक्ति गणना

  • मी :=ए की कॉलम संख्या

  • Ans :=inf

  • i1 के लिए 0 से n की सीमा में, करें

    • पंक्ति :=आकार m की सूची और 0 से भरें

    • i2 के लिए i1 से n की श्रेणी में, करें

      • j के लिए 0 से m की सीमा में, करें

        • पंक्ति [जे]:=पंक्ति [जे] + ए [i2, जे]

      • s :=एक नया सेट

      • s में 0 डालें

      • योग :=0

      • j के लिए 0 से m की सीमा में, करें

        • योग :=योग + पंक्ति[j];

        • अस्थायी :=s में सभी मदों की एक सूची जो (योग - k) से बड़ी है

        • यदि तापमान का आकार> 0, तो

          • यू:=न्यूनतम तापमान

          • उत्तर :=अधिकतम उत्तर और (योग - यू)

        • एस में योग डालें

  • वापसी उत्तर

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

उदाहरण

class Solution:
   def solve(self, a, k):
      n = len(a)
      if n == 0:
         return 0;
      m = len(a[0])
      ans = -999999;
      for i1 in range(n):
         row = [0]*m;
         for i2 in range(i1, n):
            for j in range(m):
               row[j] += a[i2][j]
            s = set()
            s.add(0)
            sum = 0
            for j in range(m):
               sum += row[j];
               temp = [e for e in s if e > (sum − k)]
            if len(temp) > 0:
               u = min(temp)
               ans = max(ans, sum − u)
            s.add(sum)
         return ans
ob = Solution()
matrix = [
   [5, −2],
   [7, 10]
]
k = 15
print(ob.solve(matrix, k))

इनपुट

[
[5, −2],
[7, 10]
], 15

आउटपुट

12

  1. पायथन प्रोग्राम में सरणी का योग ज्ञात करें

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

  1. एक सूची का संचयी योग खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें संचयी राशि के साथ एक सूची बनानी होगी। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # cumulative sum def Cumulative(l):    new = []    cumsum = 0   &nb

  1. सरणी का योग खोजने के लिए पायथन कार्यक्रम

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