Python3最长连续递增序列问题
生活随笔
收集整理的這篇文章主要介紹了
Python3最长连续递增序列问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python3最長連續遞增序列問題
原題 https://leetcode-cn.com/problems/longest-continuous-increasing-subsequence/
題目:
給定一個未經排序的整數數組,找到最長且連續的的遞增序列。
示例 1:
輸入: [1,3,5,4,7] 輸出: 3 解釋: 最長連續遞增序列是 [1,3,5], 長度為3。 盡管 [1,3,5,7] 也是升序的子序列, 但它不是連續的,因為5和7在原數組里被4隔開。示例 2:
輸入: [2,2,2,2,2] 輸出: 1 解釋: 最長連續遞增序列是 [2], 長度為1。 注意:數組長度不會超過10000。解題:
class Solution:def findLengthOfLCIS(self, nums: List[int]) -> int:n = len(nums)if n == 0:return 0if n == 1:return 1start = 0 #記錄遞增序列的開始位置end = start #記錄遞增序列的末尾位置resMax = 1 #記錄遞增序列的歷史最大值for i in range(1, n):end = iif nums[i] <= nums[i-1]: #如果這個數比上一個少,那么上一個遞增序列結束,開始新的遞增序列start = ielse:resMax = max(resMax, end - start + 1) #遞增序列長度+1,如果比歷史最大值大,則更新歷史最大值return resMax總結
以上是生活随笔為你收集整理的Python3最长连续递增序列问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文明如厕公约28句
- 下一篇: Python3只出现一次数字