मान लीजिए कि हमारे पास दो सरणियाँ हैं जिन्हें अंक और मान कहा जाता है, दोनों में पूर्णांक हैं और अंकों के मान सख्ती से बढ़ रहे हैं और उनकी लंबाई भी समान है। हमें सूचकांकों की एक जोड़ी i, j के लिए v का मान ज्ञात करना होगा, जैसे कि:i j जो v =मान [i] + मान [j] + nums [j] - nums [i] को अधिकतम करता है।
इसलिए, यदि इनपुट संख्या =[1, 2, 7] मान =[-4, 6, 5] की तरह है, तो आउटपुट 16 होगा, यदि हम i =1 और j =2 चुनें तो हमें 6 + 5 मिलता है। + 7 - 2 =16.
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
ans1 :=-inf, ans2 :=-inf
-
मैं के लिए 0 से लेकर अंकों के आकार -1 तक की सीमा में, करें
-
ans1 :=अधिकतम ans1 और (मान[i] - nums[i])
-
ans2 :=अधिकतम ans2 और (मान[i] + अंक [i])
-
-
उत्तर 1 + उत्तर 2
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
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