Python程式檢查列表是否交替遞增遞減


假設我們有一個名為nums的數字列表。我們必須檢查列表是否從嚴格遞增開始,然後嚴格遞減,然後嚴格遞增,依此類推。如果列表只是嚴格遞增的,則它也是有效的。

因此,如果輸入類似於nums = [2, 4, 8, 7, 5, 1, 5, 7, 2, 1],則輸出將為True,因為[2,4,8]遞增,然後[7,5,1]遞減,然後再次[5,7]遞增,[2,1]遞減。

為了解決這個問題,我們將遵循以下步驟:

  • 如果nums[1] <= nums[0],則
    • 返回False
  • 對於範圍從0到nums大小的i,執行以下操作:
    • 如果i - 1 >= 0,則
      • 如果nums[i]與nums[i - 1]相同,則
        • 返回False
  • 返回True

示例

讓我們看看下面的實現,以便更好地理解:

def solve(nums):
   if nums[1] <= nums[0]:
      return False
   for i in range(len(nums)):
      if i - 1 >= 0:
         if nums[i] == nums[i - 1]:
            return False

   return True

nums = [2, 4, 8, 7, 5, 1, 5, 7, 2, 1]
print(solve(nums))

輸入

[2, 4, 8, 7, 5, 1, 5, 7, 2, 1]

輸出

True

更新於:2021年10月14日

瀏覽量:632

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.