Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình kiểm tra số lượng đảo ngược toàn cục và cục bộ có giống nhau hay không trong Python

Giả sử chúng ta có một danh sách các số riêng biệt được gọi là nums. Ở đây, nghịch đảo toàn cục là khi có các chỉ số i nums [j]. Và nghịch đảo cục bộ là khi có một chỉ số i và i + 1 sao cho nums [i]> nums [i + 1]. Chúng tôi phải kiểm tra xem số lần đảo ngược toàn cục có bằng số lần nghịch đảo cục bộ hay không.

Vì vậy, nếu đầu vào giống như nums =[3, 2, 4], thì đầu ra sẽ là True, vì các chỉ số 0 và 1 đều là nghịch đảo cục bộ và toàn cục.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • l:=kích thước của nums
  • đối với tôi trong phạm vi từ 0 đến l - 3, thực hiện
    • đối với j trong phạm vi i + 2 đến l-1, thực hiện
      • nếu nums [i]> nums [j], thì
        • trả về Sai
  • trả về True

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

[3, 2, 4]

Đầu ra

True