用 Python 检查全局和局部反转次数是否相同的程序
pythonserver side programmingprogramming
假设我们有一个名为 nums 的不同数字列表。此处全局反转是指索引 i < j 使得 nums[i] > nums[j]。局部反转是指索引 i 和 i + 1 使得 nums[i] > nums[i + 1]。我们必须检查全局反转的次数是否等于局部反转的次数。
因此,如果输入为 nums = [3, 2, 4],则输出将为 True,因为索引 0 和 1 都是全局反转和局部反转。
为了解决这个问题,我们将遵循以下步骤 −
- l := size of nums
- 对于范围为 0 到 l - 3 的 i,执行
- 对于范围为 i + 2 到 l-1 的 j,执行
- 如果 nums[i] > nums[j],则
- 返回 False
- 如果 nums[i] > nums[j],则
- 对于范围为 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
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

