ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে যাকে বলা হয় সংখ্যা। এবং এটি বর্গাকার ব্লকের উচ্চতাকে প্রতিনিধিত্ব করছে, আমাদের চেক করতে হবে যে আকৃতিটি y =x লাইনের উপর প্রতিসম কিনা।
সুতরাং, ইনপুট যদি সংখ্যার মত হয় =[7, 5, 3, 2, 2, 1, 1], তাহলে আউটপুট হবে True
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব:
- i :=0
- j :=সংখ্যার আকার - 1
- যখন i <=j, do
- h :=সংখ্যা[j]
- যখন i
- যদি nums[i] (j + 1) এর মত না হয়, তাহলে
- মিথ্যে ফেরত দিন
- i :=i + 1
- যদি nums[i] (j + 1) এর মত না হয়, তাহলে
- j :=j - 1
আরও ভালভাবে বোঝার জন্য আসুন নিম্নলিখিত বাস্তবায়ন দেখি:
উদাহরণ
class Solution: def solve(self, nums): i = 0 j = len(nums) - 1 while i <= j: h = nums[j] while i < h: if nums[i] != j + 1: return False i += 1 j -= 1 return True ob = Solution() nums = [7, 5, 3, 2, 2, 1, 1] print(ob.solve(nums))
ইনপুট
[7, 5, 3, 2, 2, 1, 1]
আউটপুট
True