用于检查全局和局部反转数在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