ধরুন আমরা একটি অ্যারে সংখ্যা আছে. একটি অপারেশনে, আমরা অ্যারের একটি উপাদান নির্বাচন করতে পারি এবং এটি 1 দ্বারা বৃদ্ধি করতে পারি। উদাহরণস্বরূপ, যদি আমাদের [4,5,6] থাকে, তাহলে অ্যারে তৈরি করতে আমরা সূচক 1 এ উপাদান নির্বাচন করতে পারি [4,5,5] . তারপরে সংখ্যাগুলি কঠোরভাবে বাড়ানোর জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করতে হবে৷
সুতরাং, ইনপুট যদি সংখ্যার মত হয় =[8,5,7], তাহলে আউটপুট হবে 7, কারণ আমাদের বাড়াতে হবে [8,6,7],[8,7,7],[8,8] ,7],[8,9,7],[8,9,8],[8,9,9],[8,9,10]।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
গণনা:=0
-
আমি 0 থেকে সংখ্যার আকার - 1 এর রেঞ্জের জন্য, করুন
-
যদি nums[i+1] −=nums[i] হয়, তাহলে
-
গণনা :=গণনা + সংখ্যা[i] - সংখ্যা[i+1] + 1
-
সংখ্যা[i+1] :=সংখ্যা[i+1] + সংখ্যা[i] - সংখ্যা[i+1] + 1
-
-
-
ফেরত গণনা
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
def solve(nums): count=0 for i in range(len(nums)-1): if nums[i+1]<=nums[i]: count+=nums[i]-nums[i+1]+1 nums[i+1]+=nums[i]-nums[i+1]+1 return count nums = [8,5,7] print(solve(nums))
ইনপুট
[8,5,7]
আউটপুট
7