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

पायथन में मान ढूंढना जिसके लिए दी गई ऐरे एक्सप्रेशन अधिकतम हो


मान लीजिए हमारे पास दो ऐरे nums और values हैं, दोनों में इंटीजर हैं और nums के मान सख्ती से बढ़ रहे हैं और उनकी लंबाई भी समान है। हमें इंडेक्स i, j के एक जोड़े के लिए v का मान ढूंढना है, जैसे कि: i ≤ j जो v = values[i] + values[j] + nums[j] - nums[i] को अधिकतम करता है।

उदाहरण के लिए, यदि इनपुट है nums = [1, 2, 7], values = [-4, 6, 5], तो आउटपुट होगा 16, यदि हम i = 1 और j = 2 चुनते हैं तो हमें 6 + 5 + 7 - 2 = 16 मिलता है।

समाधान दृष्टिकोण

एक्सप्रेशन v = (values[i] - nums[i]) + (values[j] + nums[j])। चूंकि i ≤ j, हम values[i] - nums[i] का अधिकतम और values[j] + nums[j] का अधिकतम स्वतंत्र रूप से ढूंढ सकते हैं और उन्हें जोड़ सकते हैं।

  • ans1 = -inf, ans2 = -inf आरंभ करें।
  • प्रत्येक इंडेक्स i के लिए:
    • ans1 = max(ans1, values[i] - nums[i])
    • ans2 = max(ans2, values[i] + nums[i])
  • ans1 + ans2 लौटाएं।

पायथन कार्यान्वयन

from math import inf

def solve(nums, values):
    ans1 = -inf
    ans2 = -inf
    for i in range(len(nums)):
        ans1 = max(ans1, (values[i] - nums[i]))
        ans2 = max(ans2, (values[i] + nums[i]))
    return ans1 + ans2

nums = [1, 2, 7]
values = [-4, 6, 5]
print(solve(nums, values))

इनपुट

[1, 2, 7], [-4, 6, 5]

आउटपुट

16

  1. - पायथन में सुरक्षित दूरी बनाए रखने के लिए k का अधिकतम मान ज्ञात करने का प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी मैट्रिक्स है। यहां 0 एक खाली सेल दर्शाता है, और 1 एक व्यक्ति वाले सेल को दर्शाता है। दो सेल्स के बीच की दूरी x निर्देशांकों के अंतर और y निर्देशांकों के अंतर के बीच का अधिकतम मान है। अब मैट्रिक्स को फैक्टर k के साथ सुरक्षित माना जाता है यदि एक खाली वर्ग ऐसा है कि उस से

  1. - पायथन में अद्वितीय सरणी के सन्निकट अंतराल खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक अद्वितीय संख्याओं की एक सूची है। हमें संख्याओं की एक क्रमबद्ध 2D मैट्रिक्स ढूंढनी है जहां प्रत्येक सूची एक समावेशी अंतराल को दर्शाती है जो nums में सन्निकट संख्याओं को सारांशित करती है। उदाहरण के लिए, यदि इनपुट nums = [10, 11, 12, 15, 16, 17, 28, 30] है, तो आउटपुट [[10

  1. पायथन प्रोग्राम: ऐरे मल्टीप्लिकेशन को n से विभाजित करने पर शेषफल ढूंढें पायथन प्रोग्राम: ऐरे मल्टीप्लिकेशन को n से विभाजित करने पर शेषफल ढूंढें

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट कई नंबर और एक नंबर इनपुट n दिए जाने पर, हमें सभी नंबर को n से विभाज्य गुणा करने के बाद शेषफल प्रिंट करना होगा। दृष्टिकोण पहले, arr[i] % n जैसा शेषफल निकालें। फिर इस शेषफल को वर्तमान परिणाम से गुणा करे