假设我们有一个称为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