मान लीजिए हमारे पास पूर्णांकों की एक सरणी A है, और एक क्वेरी सरणी है। i-वें क्वेरी के लिए मान = queries[i][0] और इंडेक्स = queries[i][1], हम मान को A[index] में जोड़ देंगे। फिर i-वें क्वेरी का उत्तर A के सम मानों का योग होगा। हमें सभी क्वेरीज के उत्तर ढूंढने हैं। हम एक सरणी बनाएंगे, जिसमें answer[i] i-वें क्वेरी का उत्तर होगा।
उदाहरण के लिए, यदि सरणी [1,2,3,4] है, और क्वेरी सरणी [[1,0],[-3,1],[-4,0],[2,3]] है, तो उत्तर सरणी [8,6,2,4] होगी।
पहले सरणी [1,2,3,4] है, फिर पहले क्वेरी के बाद, A[0] में 1 जोड़ें, सरणी [2,2,3,4] बन जाती है, सम मानों का योग 2+2+4 = 8। दूसरे क्वेरी के लिए, A[1] में -3 जोड़ें, सरणी [2,-1,3,4] बन जाती है, सम संख्याओं का योग 2+4 = 6। इसी तरह हमें सरणी [8,6,2,4] मिलती है।
हल करने के चरण
- परिणाम संग्रहीत करने के लिए res नामक एक सरणी परिभाषित करें
- sum := 0
- A में प्रत्येक तत्व i के लिए
- यदि i सम है, तो sum := sum + i
- queries में प्रत्येक क्वेरी i के लिए
- index := i[1]
- val := i[0]
- यदि A[index] सम है, तो sum := sum - A[index]
- A[index] := A[index] + val
- यदि A[index] सम है, तो sum := sum + A[index]
- sum को res में जोड़ें
- res वापस करें
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
class Solution(object):
def sumEvenAfterQueries(self, A, queries):
result = []
sum = 0
for i in A:
if i%2==0:
sum+=i
for i in queries:
index = i[1]
val = i[0]
if A[index] % 2==0:
sum-=A[index]
A[index]+=val
if A[index]%2==0:
sum+=A[index]
result.append(sum)
return result
ob1 = Solution()
print(ob1.sumEvenAfterQueries([1,2,3,4], [[1,0],[-3,1],[-4,0],[2,3]]))
इनपुट
[1,2,3,4] [[1,0],[-3,1],[-4,0],[2,3]]
आउटपुट
[8,6,2,4]