ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে যাকে nums বলা হয়, আমাদের দৈর্ঘ্য ≥ 3 এর সংলগ্ন পাটিগণিত ক্রমগুলির সংখ্যা খুঁজে বের করতে হবে। যেমন আমরা জানি একটি গাণিতিক ক্রম হল সংখ্যাগুলির একটি তালিকা যেখানে একটি সংখ্যা এবং পরবর্তী সংখ্যার মধ্যে পার্থক্য একই।
সুতরাং, যদি ইনপুট সংখ্যার মত হয় =[6, 8, 10, 12, 13, 14], তাহলে আউটপুট হবে 4, যেমন আমাদের গাণিতিক ক্রম রয়েছে:[6, 8, 10] [8, 10, 12] [6, 8, 10, 12] [12, 13, 14]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
গণনা :=0, উত্তর :=0
-
আমি পরিসীমা 2 থেকে সংখ্যার আকারের জন্য, করুন
-
যদি nums[i] - nums[i - 1] nums[i - 1] - nums[i - 2] এর মত হয়, তাহলে
-
গণনা :=গণনা + 1
-
-
অন্যথায়,
-
ans :=ans + ভাগফল (গণনা * (গণনা + 1)) / 2
-
গণনা :=0
-
-
-
যদি গণনা অ-শূন্য হয়, তাহলে
-
ans :=ans + ভাগফল (count *(count + 1)) / 2
-
-
উত্তর ফেরত দিন
আরও ভালভাবে বোঝার জন্য আসুন নিম্নলিখিত বাস্তবায়ন দেখি:
উদাহরণ
class Solution: def solve(self, nums): count = 0 ans = 0 for i in range(2, len(nums)): if nums[i] - nums[i - 1] == nums[i - 1] - nums[i - 2]: count += 1 else: ans += (count * (count + 1)) // 2 count = 0 if count: ans += (count * (count + 1)) // 2 return ans ob = Solution() nums = [6, 8, 10, 12, 13, 14] print(ob.solve(nums))
ইনপুট
[6, 8, 10, 12, 13, 14]
আউটপুট
4