在 Python 中改變方向


假設我們有一個名為 nums 的數字列表,我們需要找出列表從正斜率變為負斜率或負斜率變為正斜率的次數。

因此,如果輸入類似 [2, 4, 10, 18, 6, 11, 13],則輸出將為 2,因為它在 10 處發生了改變(正變負),然後在 6 處發生了改變(負變正)。

要解決此問題,我們將按照以下步驟進行 -

  • 要解決此問題,我們將按照以下步驟進行 -

  • 範圍 1 到 nums 的大小 - 1,do

    • 如果 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

更新於: 02-Sep-2020

711 人檢視

開啟您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.