কম্পিউটার

পাইথনে একটি ন্যায্য অ্যারে করার উপায় খুঁজে বের করার জন্য প্রোগ্রাম


ধরুন আমাদের nums নামক একটি অ্যারে আছে। আমরা ঠিক একটি সূচক নির্বাচন করতে পারি এবং সেই সূচক থেকে উপাদানটি সরিয়ে ফেলতে পারি। (উপাদানের সূচক অপসারণের পরে পরিবর্তিত হতে পারে)। বিজোড়-সূচীকৃত মানের যোগফল জোড়-সূচীকৃত মানের সমষ্টির সমান হলে আমরা একটি অ্যারেকে ন্যায্য বলতে পারি। আমাদের এমন সূচকের সংখ্যা খুঁজে বের করতে হবে যা আমরা এমনভাবে নির্বাচন করতে পারি যাতে অপসারণের পরে, সংখ্যাগুলি ন্যায্য হয়৷

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[5,3,7,2], তাহলে আউটপুট হবে

  • সূচক 0 থেকে সরান, অ্যারে হল [3,7,2], জোড় অবস্থানের যোগফল:3+2 =5, বিজোড় অবস্থান যোগফল 7 (ন্যায্য নয়)

  • সূচক 1 থেকে সরান, অ্যারে হল [5,7,2], জোড় অবস্থানের যোগফল:5+2 =7, বিজোড় অবস্থান যোগফল 7 (ন্যায্য)

  • সূচক 2 থেকে সরান, অ্যারে হল [5,3,2], জোড় অবস্থানের যোগফল:5+2 =7, বিজোড় অবস্থানের যোগফল 3 (ন্যায্য নয়)

  • সূচক 3 থেকে সরান, অ্যারে হল [5,3,7], জোড় অবস্থানের যোগফল:5+7 =12, বিজোড় অবস্থান যোগফল 3 (ন্যায্য নয়)

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • res :=0, sm1 :=0, sm2 :=0
  • আমি রেঞ্জ 1 থেকে সংখ্যার আকার - 1 এর জন্য, কর
    • যদি আমি জোড় হয়, তাহলে
      • sm1 :=sm1 + সংখ্যা[i]
    • অন্যথায়,
      • sm2 :=sm2 + সংখ্যা[i]
  • যদি sm1 sm2 এর মত হয়, তাহলে
    • res :=res + 1
  • আমি রেঞ্জ 1 থেকে সংখ্যার আকার - 1 এর জন্য, কর
    • যদি আমি বিজোড় হয়, তাহলে
      • sm1 :=sm1 - nums[i] + nums[i-1]
    • অন্যথায়,
      • sm2 :=sm2 - nums[i] + nums[i-1]
    • যদি sm1 sm2 এর মত হয়, তাহলে
      • res :=res + 1
  • রিটার্ন রিটার্ন

উদাহরণ

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

def সমাধান(সংখ্যা):res, sm1, sm2 =0, 0, 0 এর জন্য i রেঞ্জে(1, len(nums)):যদি i%2 ==1:sm1 +=nums[i] অন্য:sm2 +=nums[i] যদি sm1 ==sm2:res +=1 এর জন্য i range(1, len(nums)):যদি i % 2 ==1:sm1 =sm1 - nums[i] + nums[i -1] else:sm2 =sm2 - nums[i] + nums[i-1] যদি sm1 ==sm2:res +=1 রিটার্ন resnums =[5,3,7,2]print(solve(nums)) 

ইনপুট

[5,3,7,2]

আউটপুট

1

  1. পাইথন প্রোগ্রামে অ্যারের সমষ্টি খুঁজুন

  2. পাইথন প্রোগ্রাম একটি অ্যারের বৃহত্তম উপাদান খুঁজে বের করতে

  3. অ্যারের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম

  4. একটি অ্যারের বৃহত্তম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম