मान लीजिए कि हमारे पास अंक नामक वस्तुओं की एक सूची है, हमें सबसे छोटी अनुक्रमणिका i को खोजना है, ताकि i के बाईं ओर मौजूद संख्याओं का योग i के दाईं ओर मौजूद संख्याओं के योग के बराबर हो। अगर हमें ऐसा कोई समाधान नहीं मिलता है, तो -1 पर लौटें।
इसलिए, यदि इनपुट nums =[8,2,3,6,5,2,5,9,1,2] की तरह है, तो आउटपुट 4 होगा, क्योंकि इंडेक्स 4 के बचे हुए तत्वों का योग है [ 8,2,3,6] =19, और दाईं ओर मौजूद तत्वों का योग [2,5,9,1,2] =19 भी है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
r :=अंकों में मौजूद सभी तत्वों का योग
-
एल :=0
-
प्रत्येक अनुक्रमणिका के लिए i और मान x अंकों में, करें
-
आर:=आर - एक्स
-
यदि r, l के समान है, तो
-
वापसी मैं
-
-
एल:=एल + एक्स
-
-
वापसी -1
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
def solve(nums): r = sum(nums) l = 0 for i,x in enumerate(nums): r -= x if r == l: return i l += x return -1 nums = [8,2,3,6,5,2,5,9,1,2] print(solve(nums))
इनपुट
[8,2,3,6,5,2,5,9,1,2]
आउटपुट
4