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

पायथन में एक समीकरण का अधिकतम मूल्य खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक 2D विमान पर निर्देशांक बिंदु वाले बिंदु नामक एक सरणी है, वे x-मानों द्वारा क्रमबद्ध हैं, जहां बिंदु [i] =(x_i, y_i) इसलिए x_i

इसलिए, यदि इनपुट अंक =[[2,4], [3,1], [6,11], [7,-9]] के =1 की तरह है, तो आउटपुट 6 होगा क्योंकि पहले दो बिंदु शर्त को पूरा करें |xi - xj| <=1 अब अगर हम समीकरण की गणना करते हैं तो हमें 4+ 1 + |2 - 3| . मिलता है =6. तीसरे और चौथे अंक भी शर्त को पूरा करते हैं और 11 + -9 + |6 - 7| . का मान लौटाते हैं =3, इसलिए अधिकतम 6 है।

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

  • बाएँ:=0, दाएँ:=1

  • max_value :=-inf

  • जबकि सही <अंकों का आकार, करें

    • (एक्सएल, वाईएल) :=अंक[बाएं]

    • (xr, yr) :=अंक[दाएं]

    • अंतर :=|xr - xl|

    • यदि बायाँ दाएँ के समान है, तो

      • दाएँ :=दाएँ + 1

    • अन्यथा जब भिन्न <=k, तब

      • मी :=yl + yr + diff

      • max_value :=max_value और m का अधिकतम

      • अगर yl>=yr - diff, तब

        • दाएँ :=दाएँ + 1

      • अन्यथा,

        • बाएँ :=बाएँ + 1

      • अन्यथा,

        • बाएँ :=बाएँ + 1

  • वापसी max_value

उदाहरण

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

def solve(points, k):
   left, right = 0, 1
   max_value = float('-inf')

   while right < len(points):
      xl, yl = points[left]
      xr, yr = points[right]

      diff = abs(xr - xl)
      if left == right:
         right += 1
      elif diff <= k:
         m = yl + yr + diff
         max_value = max(max_value, m)
         if yl >= yr - diff:
            right += 1
         else:
            left += 1
      else:
         left += 1

   return max_value

points = [[2,4],[3,1],[6,11],[7,-9]]
k = 1
print(solve(points, k))

इनपुट

[[2,4],[3,1],[6,11],[7,-9]], 1

आउटपुट

6

  1. पायथन में बहुभुज की परिधि खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास ऑर्डर किए गए बिंदुओं की एक सूची है जो 2 डी विमान पर एक साधारण बहुभुज समापन बिंदु का प्रतिनिधित्व करती है। हमें इस बहुभुज का परिमाप ज्ञात करना है। इसलिए, यदि इनपुट अंक =[(0, 0), (0,5), (3, 5), (3,0)] की तरह है, तो आउटपुट 16 होगा क्योंकि दो भुजाओं की लंबाई 3 है और दो भुजाओं

  1. पायथन में निर्देशित ग्राफ में सबसे बड़ा रंग मान खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास n रंगीन नोड्स और m विभिन्न किनारों के साथ एक निर्देशित ग्राफ है। और नोड्स 0 से n-1 तक गिने जाते हैं। हमारे पास लोअरकेस अक्षरों वाला एक स्ट्रिंग कॉल है, जहां col[i] इस ग्राफ (0-अनुक्रमित) में ith नोड के रंग का प्रतिनिधित्व करता है। हमारे पास एक किनारे की सूची भी है जहां किनारों

  1. एक सरणी में सबसे बड़ा तत्व खोजने के लिए पायथन कार्यक्रम

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