674 最長連續遞增序列

2021-10-22 08:36:26 字數 1503 閱讀 7801

給定乙個未經排序的整數陣列,找到最長且 連續遞增的子串行,並返回該序列的長度。

連續遞增的子串行 可以由兩個下標 l 和 r(l < r)確定,如果對於每個 l <= i < r,都有 nums[i] < nums[i + 1] ,那麼子串行 [nums[l], nums[l + 1], …, nums[r - 1], nums[r]] 就是連續遞增子串行。

示例 1:

輸入:nums = [1,3,5,4,7]

輸出:3

解釋:最長連續遞增序列是 [1,3,5], 長度為3。

儘管 [1,3,5,7] 也是公升序的子串行, 但它不是連續的,因為 5 和 7 在原陣列裡被 4 隔開。

示例 2:

輸入:nums = [2,2,2,2,2]

輸出:1

解釋:最長連續遞增序列是 [2], 長度為1。

# 雙指標,分別指向遞增序列首位和末位,通過比較得出最大值即可

# while迴圈

class

solution

:def

findlengthoflcis

(self, nums: list[

int])-

>

int:

iflen

(set

(nums))==

1:return

1 res =

0 left, right =0,

0while right <

len(nums)

:while right <

len(nums)

and nums[right -1]

< nums[right]

: right +=

1 res =

max(res, right - left)

left = right

right +=

1return res

# for迴圈

class

solution

:def

findlengthoflcis

(self, nums: list[

int])-

>

int:

iflen

(set

(nums))==

1:return

1 res =

0 left =

0for right in

range

(len

(nums)+1

):if right <

len(nums)

and nums[right -1]

< nums[right]

:continue

res =

max(res, right - left)

left = right

return res

674 最長連續遞增序列

題目描述 給定乙個未經排序的整數陣列,找到最長且連續的的遞增序列,並返回該序列的長度。示例 1 輸入 1,3,5,4,7 輸出 3 解釋 最長連續遞增序列是 1,3,5 長度為3。儘管 1,3,5,7 也是公升序的子串行,但它不是連續的,因為5和7在原陣列裡被4隔開。示例 2 輸入 2,2,2,2,...

674 最長連續遞增序列

一 題目描述 給定乙個未經排序的整數陣列,找到最長且 連續遞增的子串行,並返回該序列的長度。連續遞增的子串行 可以由兩個下標 l 和 r l r 確定,如果對於每個 l i r,都有 nums i nums i 1 那麼子串行 nums l nums l 1 nums r 1 nums r 就是連續...

674 最長連續遞增序列

給定乙個未經排序的整數陣列,找到最長且 連續遞增的子串行,並返回該序列的長度。連續遞增的子串行 可以由兩個下標 l 和 r l r 確定,如果對於每個 l i r,都有 nums i nums i 1 那麼子串行 nums l nums l 1 nums r 1 nums r 就是連續遞增子串行。示...