কম্পিউটার টিউটোরিয়াল

পাইথনে গ্লোবাল ও লোকাল ইনভারশনের সংখ্যা সমান কিনা চেক করার প্রোগ্রাম


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

উদাহরণস্বরূপ, যদি ইনপুট হয় nums = [3, 2, 4], তবে আউটপুট হবে True, কারণ ইনডেক্স ০ এবং ১ হল একই সাথে গ্লোবাল ও লোকাল ইনভারশন।

সমাধানের ধাপসমূহ:
  • l := len(nums)
  • i কে ০ থেকে l-3 পর্যন্ত লুপ চালান:
    • j কে i+2 থেকে l-1 পর্যন্ত লুপ চালান:
      • যদি nums[i] > nums[j] হয়, তবে False রিটার্ন করুন।
  • True রিটার্ন করুন।
উদাহরণ কোড
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. পাইথনে আযল নম্বর (Ugly Number) যাচাই করার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম: কোনো সংখ্যা প্রাইম কিনা তা যাচাই করা