ধরুন, দুই বন্ধু অমল ও বিমল একটি খেলা খেলছে সংখ্যার একটি সাজানো তালিকা নিয়ে যার নাম nums। একক পালা এই খেলায়, অমল যেকোনো তিনটি সংখ্যা বেছে নেয়। বিমল তাদের একজনকে সরিয়ে দেয় এবং অমল তাদের একজনকে সরিয়ে দেয়। তালিকাটি বিজোড় সংখ্যক উপাদান দিয়ে শুরু হয়। এখানে আমলা তালিকায় কোন পুনরাবৃত্ত উপাদান না থাকার জন্য প্রয়োজনীয় বাঁকের সংখ্যা কমিয়ে আনতে চায়, বিমল বাঁকের সংখ্যা সর্বাধিক করতে চায়। যদি অমল এবং বিমল সর্বোত্তমভাবে কাজ করে, তাহলে আমাদের খুঁজে বের করতে হবে এই খেলার জন্য কয়টি বাঁক দরকার।
সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[1, 1, 2, 3, 3, 3, 4], তাহলে আউটপুট হবে 2, যেমন Amal নির্বাচন করে [1, 1, 3], তাহলে বিমল সর্বাধিক করার জন্য 3টি সরিয়ে দেয় মোড়, অ্যারে হল [1, 1, 2, 3, 3, 4], Amal 1 সরিয়ে দেয়, তাই অ্যারে হল [1,2,3,3,4], তারপর পরের পালাটিতে Amal নির্বাচন করে [3,3, 4], তারপর বিমল সর্বাধিক বাঁক নিতে 4টি সরিয়ে ফেলবে। তাহলে আমাল 3টি সরিয়ে ফেলতে পারে এবং অ্যারে হবে [1,2,3], কোন সদৃশ উপাদান নেই।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
পুনরাবৃত্তি :=0
আমি রেঞ্জ 1 থেকে সংখ্যার আকারের জন্য, করুন
যদি nums[i] nums[i-1] এর মত হয়, তাহলে
পুনরাবৃত্তি :=পুনরাবৃত্তি + 1
(পুনরাবৃত্তি + 1) / 2
এর ভাগফলআরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
শ্রেণির সমাধান:def solve(self, nums):পুনরাবৃত্তি =0 in range(1, len(nums) এর জন্য):if nums[i] ==nums[i-1]:পুনরাবৃত্তি +=1 রিটার্ন ( পুনরাবৃত্তি করেইনপুট
[1, 1, 2, 3, 3, 3, 4]আউটপুট
2