কম্পিউটার

পাইথনে কোয়েরির পরে জোড় সংখ্যার যোগফল


ধরুন আমাদের কাছে A নামক পূর্ণসংখ্যার একটি অ্যারে এবং একটি অ্যারে প্রশ্ন রয়েছে। i-th query value =queries[i][0] এবং index =queries[i][1] এর জন্য, আমরা A[index]-এ মান যোগ করব। তারপর, i-th প্রশ্নের উত্তর হল A-এর জোড় মানের সমষ্টি। আমাদের সমস্ত প্রশ্নের উত্তর খুঁজতে হবে। আমরা একটি অ্যারে খুঁজে পাব, যাতে i-th প্রশ্নের উত্তর হিসেবে [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 নামের একটি অ্যারে সংজ্ঞায়িত করুন
  • সমষ্টি :=0
  • প্রতিটি উপাদানের জন্য আমি A
    • যদি আমি জোড় হয়, তাহলে যোগফল :=যোগফল + i
  • প্রত্যেকটি প্রশ্নের জন্য i প্রশ্নে −
    • সূচক :=i[1]
    • val :=i[0]
    • যদি A[সূচি] জোড় হয়, তাহলে যোগফল :=যোগফল – A[সূচক]
    • A[index] :=A[index] + val
    • যদি A[সূচি] জোড় হয়, তাহলে যোগফল :=যোগফল + A[সূচক]
    • অধিক্ষেত্রের সাথে যোগ করা হয়
  • রিটার্ন রিটার্ন

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

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]

  1. পাইথন প্রোগ্রামে একটি সংখ্যার জোড় গুণনীয়কের সমষ্টি খুঁজুন

  2. একটি সংখ্যার জোড় গুণকের যোগফল খুঁজে বের করার জন্য পাইথন প্রোগ্রাম

  3. পাইথনে জটিল সংখ্যা?

  4. পাইথনে সংখ্যার তালিকার যোগফল কীভাবে খুঁজে পাবেন?