Python3最长连续递增序列问题
生活随笔
收集整理的這篇文章主要介紹了
Python3最长连续递增序列问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Python3最長(zhǎng)連續(xù)遞增序列問題
原題 https://leetcode-cn.com/problems/longest-continuous-increasing-subsequence/
題目:
給定一個(gè)未經(jīng)排序的整數(shù)數(shù)組,找到最長(zhǎng)且連續(xù)的的遞增序列。
示例 1:
輸入: [1,3,5,4,7] 輸出: 3 解釋: 最長(zhǎng)連續(xù)遞增序列是 [1,3,5], 長(zhǎng)度為3。 盡管 [1,3,5,7] 也是升序的子序列, 但它不是連續(xù)的,因?yàn)?和7在原數(shù)組里被4隔開。示例 2:
輸入: [2,2,2,2,2] 輸出: 1 解釋: 最長(zhǎng)連續(xù)遞增序列是 [2], 長(zhǎng)度為1。 注意:數(shù)組長(zhǎng)度不會(huì)超過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]: #如果這個(gè)數(shù)比上一個(gè)少,那么上一個(gè)遞增序列結(jié)束,開始新的遞增序列start = ielse:resMax = max(resMax, end - start + 1) #遞增序列長(zhǎng)度+1,如果比歷史最大值大,則更新歷史最大值return resMax總結(jié)
以上是生活随笔為你收集整理的Python3最长连续递增序列问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文明如厕公约28句
- 下一篇: Python3只出现一次数字