在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的大小
- 对于i在0到l-3范围内,执行以下操作 –
- 对于j在i + 2到l-1范围内,执行以下操作 –
- 如果nums [i]>nums [j],则 –
- 返回False
- 对于j在i + 2到l-1范围内,执行以下操作 –
- 返回True
让我们看下面的实现以更好地理解 –
更多Python相关文章,请阅读:Python 教程
示例
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