ধরুন আমাদের কাছে সংখ্যা নামক একটি তালিকা আছে, আমাদের পরীক্ষা করতে হবে যে আমরা সংখ্যার ক্রমটি এমনভাবে সাজাতে পারি যে পরপর দুটি সংখ্যার প্রতিটি জোড়ার মধ্যে পার্থক্য একই হয়৷
সুতরাং, ইনপুট যদি nums =[8, 2, 6, 4] এর মত হয়, তাহলে আউটপুট হবে True, কারণ যদি আমরা [2, 4, 6, 8] এর মত সংখ্যাগুলিকে আবার সাজাই, তাহলে প্রতি দুই জোড়ার মধ্যে পার্থক্য পরপর সংখ্যা হল 2।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
N :=সংখ্যার আকার
-
যদি N <=2, তাহলে
-
রিটার্ন ট্রু
-
-
তালিকার সংখ্যাগুলি সাজান
-
টার্গেটডিফ :=সংখ্যা[1] - সংখ্যা[0]
-
আমি 2 থেকে N - 1 রেঞ্জের জন্য, কর
-
যদি nums[i] - nums[i - 1] টার্গেটডিফের মত না হয়, তাহলে
-
রিটার্ন ফলস
-
-
-
রিটার্ন ট্রু
উদাহরণ
আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি
def solve(nums): N = len(nums) if N <= 2: return True nums.sort() targetDiff = nums[1] - nums[0] for i in range(2, N): if nums[i] - nums[i - 1] != targetDiff: return False return True nums = [8, 2, 6, 4] print(solve(nums))
ইনপুট
[8, 2, 6, 4]
আউটপুট
True