কম্পিউটার

পাইথনে কোনো ব্যবধান অন্যটিকে পুরোপুরি ওভারল্যাপ করে কিনা তা পরীক্ষা করুন


ধরুন, আমাদেরকে একটি ব্যবধানের সেট দেওয়া হয়েছে যা মান (a,b) নিয়ে গঠিত যেখানে a শুরুর সময় এবং b একটি ইভেন্টের শেষ সময়কে প্রতিনিধিত্ব করে। আমাদের কাজ হল এই সেটের মধ্যে অন্য কোনও ব্যবধান সম্পূর্ণভাবে ওভারল্যাপ করে কিনা তা পরীক্ষা করা। যদি কোনো ব্যবধান ওভারল্যাপ হয়, তাহলে আমরা ফলাফলটিকে সত্য হিসাবে ফেরত দিই, অন্যথায় আমরা মিথ্যা ফেরত দিই।

সুতরাং, যদি ইনপুটটি [(4,6), (10,12), (7,9), (13,16)] এর মত হয়, তাহলে আউটপুটটি False হবে। ইনপুট যদি [(4,6), (4,9), (7,11), (5,8)] এর মত হয়, তাহলে আউটপুট হবে True।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • তালিকা ব্যবধান বাছাই
  • আমি রেঞ্জ 1 থেকে ব্যবধানের আকারের জন্য, করুন
    • যদি বিরতি হয়[i, 1] <=ব্যবধান[i- 1, 1], তাহলে
      • সত্য ফেরান
    • মিথ্যে ফেরত দিন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

def solve(intervals):
intervals.sort()
for i in range(1, len(intervals)):
   if intervals[i][1] <= intervals[i- 1][1]:
      return True
   return False
intervals = [(4,6),(10,12),(7,9),(13,16)] 
intervals2 = [(4,6), (4,9), (7,11), (5,8)] 
print(solve(intervals))
print(solve(intervals2))

ইনপুট

[(4,6),(10,12),(7,9),(13,16)] [(4,6), (4,9), (7,11), (5,8)]

আউটপুট

False
True

  1. পাইথনে একটি সংখ্যা অন্যটির পরিপূরক কিনা তা পরীক্ষা করুন

  2. পাইথনে অ্যারেটি সুন্দর কিনা তা পরীক্ষা করুন

  3. পাইথনে কোনো ব্যবধান অন্যটিকে পুরোপুরি ওভারল্যাপ করে কিনা তা পরীক্ষা করুন

  4. একটি প্রদত্ত ডিরেক্টরিতে পাইথনে অন্য কোন ডিরেক্টরি রয়েছে কিনা তা কীভাবে পরীক্ষা করবেন?