ধরুন আমাদের nums নামক একটি অ্যারে আছে। আমাদের কাছে দুটি সংখ্যাও আছে x এবং y একটি পরিসীমা সংজ্ঞায়িত করে [x, y]। আমাদের পরীক্ষা করতে হবে যে অ্যারেতে প্রদত্ত পরিসরের সমস্ত উপাদান রয়েছে কিনা।
সুতরাং, যদি ইনপুটটি nums =[5,8,9,6,3,2,4] x =2 y =6 এর মত হয়, তবে আউটপুটটি সত্য হবে কারণ সমস্ত উপাদান রয়েছে [2,3,4,5 ,6]।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- temp_range :=y - x
- আমি 0 থেকে সংখ্যার আকারের মধ্যে,
- করুন
- যদি |সংখ্যা[i]|>=x এবং |সংখ্যা[i]| <=y, তারপর
- z :=|সংখ্যা[i]| - x
- যদি সংখ্যা[z]> 0 হয়, তাহলে
- সংখ্যা[z] :=-সংখ্যা[z]
- যদি |সংখ্যা[i]|>=x এবং |সংখ্যা[i]| <=y, তারপর
- cnt :=0
- আমি 0 থেকে temp_range রেঞ্জের জন্য, কর
- যদি i>=সংখ্যার আকার হয়, তাহলে
- লুপ থেকে বেরিয়ে আসুন
- যদি সংখ্যা[i]> 0 হয়, তাহলে
- মিথ্যে ফেরত দিন
- অন্যথায়,
- cnt :=cnt + 1
- যদি i>=সংখ্যার আকার হয়, তাহলে
- যদি cnt (temp_range + 1) এর মত না হয়, তাহলে
- মিথ্যে ফেরত দিন
- সত্য ফেরান
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
def solve(nums, x, y) : temp_range = y - x for i in range(0, len(nums)): if abs(nums[i]) >= x and abs(nums[i]) <= y: z = abs(nums[i]) - x if (nums[z] > 0) : nums[z] = nums[z] * -1 cnt = 0 for i in range(0, temp_range + 1): if i >= len(nums): break if nums[i] > 0: return False else: cnt += 1 if cnt != temp_range + 1: return False return True nums = [5,8,9,6,3,2,4] x = 2 y = 6 print(solve(nums, x, y))
ইনপুট
[5,8,9,6,3,2,4], 2, 6
আউটপুট
True