ধরুন আমাদের কাছে সংখ্যা নামক সংখ্যার একটি তালিকা আছে, যেখানে উপাদানগুলিকে ক্রমবর্ধমান ক্রমে সাজানো হয়েছে, আমাদের উপাদানগুলিকে বর্গক্ষেত্র করতে হবে এবং বাছাইকৃত ক্রমে ফলাফল দিতে হবে৷
সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[-8, -3, 0, 5, 6], তাহলে আউটপুট হবে [0, 9, 25, 36, 64]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- n :=সংখ্যার আকার
- l :=0
- r :=n - 1
- সূচক :=n - 1
- res :=সংখ্যার মতো আকারের একটি তালিকা এবং এটি 0 দিয়ে পূরণ করুন
- যখন সূচক>=0, do
- যদি |সংখ্যা[l]|> |সংখ্যা[r]|, তারপর
- res[index] :=nums[l] * nums[l]
- l :=l + 1
- অন্যথায়,
- res[index] :=nums[r] * nums[r]
- r :=r - 1
- সূচক :=সূচক - 1
- যদি |সংখ্যা[l]|> |সংখ্যা[r]|, তারপর
- রিটার্ন রিটার্ন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(nums): n = len(nums) l = 0 r = n - 1 index = n - 1 res = [0 for i in range(len(nums))] while index >= 0: if abs(nums[l]) > abs(nums[r]): res[index] = nums[l] * nums[l] l += 1 else: res[index] = nums[r] * nums[r] r -= 1 index -= 1 return res nums = [-8, -3, 0, 5, 6] print(solve(nums))
ইনপুট
[-8, -3, 0, 5, 6]
আউটপুট
[0, 9, 25, 36, 64]