मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, अब हर सन्निहित सबएरे पर विचार करें। इनमें से प्रत्येक सबएरे का योग करें और इन सभी मानों का योग वापस करें। अंत में, परिणाम को 10 ** 9 + 7 से मॉड करें।
उदाहरण के लिए, यदि इनपुट है nums = [3, 4, 6], तो आउटपुट होगा 43, क्योंकि हमारे पास निम्नलिखित सबएरे हैं - [3] [4] [6] [3, 4] [4, 6] [3, 4, 6] इन सभी का योग 43 है।
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
- N := nums का आकार
- ans := 0
- i के लिए 0 से nums के आकार तक की रेंज में, करें
- n := nums[i]
- ans := ans + (i+1) * (N-i) * n
- (ans mod 1000000007) वापस करें
बेहतर समझ के लिए निम्नलিখित कार्यान्वयन देखें:
उदाहरण
class Solution: def solve(self, nums): N=len(nums) ans=0 for i in range(len(nums)): n=nums[i] ans += (i+1) * (N-i) * n return ans%1000000007 ob = Solution() print(ob.solve([3, 4, 6]))
इनपुट
[3, 4, 6]
आउटपुट
43