在 Python 中改变方向

pythonserver side programmingprogramming更新于 2025/11/3 22:36:17

假设我们有一个名为 nums 的数字列表,我们必须找到列表从正斜率变为负斜率或从负斜率变为正斜率的次数。

因此,如果输入为 [2, 4, 10, 18, 6, 11, 13],则输出将为 2,因为它在 10(正到负)时改变方向,然后在 6(负到正)时改变方向。

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

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

  • 对于 i 在 1 到 nums 大小 - 1 的范围内,执行

    • 如果nums[i-1] < nums[i] > nums[i+1] 或 nums[i-1] > nums[i] < nums[i+1],则

      • count := count + 1

  • 返回 count

让我们看看以下实现以便更好地理解 −

示例

class Solution:
   def solve(self, nums):
      count = 0
      for i in range(1, len(nums) - 1):
         if nums[i - 1] < nums[i] > nums[i + 1] or nums[i - 1] > nums[i] < nums[i + 1]:
            count += 1
      return count

ob = Solution()
print(ob.solve([2, 4, 10, 18, 6, 11, 13]))

输入

[2, 4, 10, 18, 6, 11, 13]

输出

2

相关文章


有用资源