কম্পিউটার

পাইথনে বৈশ্বিক এবং স্থানীয় ইনভার্সশনের সংখ্যা একই বা না পরীক্ষা করার প্রোগ্রাম


ধরুন আমাদের কাছে nums নামে স্বতন্ত্র সংখ্যার একটি তালিকা আছে। এখানে একটি গ্লোবাল ইনভার্সশন হল যখন i nums[j] থাকে। এবং স্থানীয় ইনভার্সন হল যখন একটি সূচক i এবং i + 1 যেমন nums[i]> nums[i + 1] থাকে। গ্লোবাল ইনভার্সন সংখ্যা স্থানীয় বিপর্যয়ের সংখ্যার সমান কিনা তা আমাদের পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[3, 2, 4], তাহলে আউটপুট হবে True, কারণ সূচক 0 এবং 1 উভয়ই একটি বিশ্বব্যাপী এবং স্থানীয় বিপরীত।

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

  • l :=সংখ্যার আকার
  • আমি 0 থেকে l - 3 রেঞ্জের জন্য, কর
      i + 2 থেকে l-1 রেঞ্জে j-এর জন্য
    • করুন
      • যদি nums[i]> nums[j] হয়, তারপর
        • মিথ্যে ফেরত দিন
  • সত্য ফেরান

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

উদাহরণ

class Solution:
   def solve(self, nums):
      l = len(nums)
      for i in range(l - 2):
         for j in range(i + 2, l):
            if nums[i] > nums[j]:
               return False
      return True
ob = Solution()
nums = [3, 2, 4]
print(ob.solve(nums))

ইনপুট

[3, 2, 4]

আউটপুট

True

  1. পাতার ক্রম দুটি পাতার সমান নাকি পাইথনে নয় তা পরীক্ষা করার জন্য প্রোগ্রাম

  2. গাছের সমস্ত মান পরীক্ষা করার প্রোগ্রাম পাইথনে একই বা না

  3. একটি সংখ্যা পরীক্ষা করার জন্য প্রোগ্রাম কুশ্রী সংখ্যা বা পাইথনে নয়

  4. একটি সংখ্যা প্রাইম কি না তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম