用于检查全局和局部反转数在Python中是否相同的程序

假设我们有一个称为nums的不同数字的列表。这里的全局求逆是当索引i <j使得nums [i]> nums [j]时。局部求逆是当存在索引i和i + 1时,使得nums [i]> nums [i + 1]。我们必须检查全局反演的数量是否等于局部反演的数量。

因此,如果输入类似于nums = [3,2,4],则输出将为True,因为索引0和1都是全局和局部反转。

为了解决这个问题,我们将遵循以下步骤-

  • l:= nums的大小

  • 对于介于0到l-3的i

    • 如果nums [i]> nums [j],则

    • 返回False

    • 对于范围i + 2至l-1的j,执行

    • 返回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