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