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