मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है, अब प्रत्येक सन्निहित उप-सरणी पर विचार करें। इनमें से प्रत्येक उप-सरणी का योग करें और इन सभी मानों का योग लौटाएं। अंत में, परिणाम को 10 ** 9 + 7 से संशोधित करें।
इसलिए, यदि इनपुट संख्या =[3, 4, 6] की तरह है, तो आउटपुट 43 होगा, क्योंकि हमारे पास निम्नलिखित उप-सरणी हैं - [3] [4] [6] [3, 4] [4, 6] [3, 4, 6] इन सभी का योग 43 है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- N:=अंकों का आकार
- उत्तर:=0
- मैं के लिए 0 से लेकर अंकों के आकार तक, करें
- n:=अंक[i]
- उत्तर:=उत्तर +(i+1) *(N-i) * n
- वापसी (उत्तर मोड 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