मान लीजिए कि हमारे पास क्रमबद्ध संख्याओं की एक सूची है जिसे अंक कहा जाता है, हमें दी गई सूची में संख्याओं के प्रत्येक जोड़े के बीच पूर्ण अंतर का योग ज्ञात करना है। यहां हम विचार करेंगे (i, j) और (j, i) अलग-अलग जोड़े हैं। यदि उत्तर बहुत बड़ा है, तो परिणाम को 10^9+7 से संशोधित करें।
इसलिए, यदि इनपुट nums =[2, 4, 8] जैसा है, तो आउटपुट 24 होगा, जैसे |2 - 4| + |2 - 8| + |4 - 2| + |4 - 8| + |8 - 2| + |8 - 4|.
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
मी =10^9 + 7
-
कुल:=0
-
मैं के लिए 0 से लेकर अंकों के आकार तक, करें
-
कुल:=कुल +(i*nums[i] - (अंकों का आकार - 1 - i) *nums[i]) mod m
-
-
वापसी (2*कुल) मॉड एम
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, nums): m = 10**9 + 7 total = 0 for i in range(len(nums)): total += (i*nums[i] - (len(nums) - 1 - i)*nums[i]) % m return (2*total) % m ob = Solution() nums = [2, 4, 8] print(ob.solve(nums))
इनपुट
[2, 4, 8]
आउटपुट
24