এই সমস্যায় একটি পূর্ণসংখ্যার অ্যারে A এবং একটি কোয়েরি অ্যারে দেওয়া থাকে। প্রতিটি কোয়েরির জন্য value = queries[i][0] এবং index = queries[i][1], আমরা A[index]-এ value যোগ করব। তারপর সেই কোয়েরির উত্তর হবে অ্যারে A-তে থাকা সব জোড় সংখ্যার যোগফল। আমাদের সব কোয়েরির উত্তর একটি অ্যারে হিসেবে রিটার্ন করতে হবে।
উদাহরণস্বরূপ, যদি অ্যারে হয় [1,2,3,4] এবং কোয়েরি অ্যারে হয় [[1,0],[-3,1],[-4,0],[2,3]], তখন উত্তর অ্যারে হবে [8,6,2,4]।
সমাধানের পদ্ধতি
- ফলাফল সংরক্ষণের জন্য
resনামক একটি অ্যারে তৈরি করুন। sum = 0নিয়ে শুরু করুন।A-এর প্রতিটি উপাদানiএর জন্য:- যদি
iজোড় হয়, তবেsum = sum + i।
- যদি
- প্রতিটি কোয়ারি
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]