給定乙個未經排序的整數陣列,找到最長且連續的的遞增序列,並返回該序列的長度。
示例 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。
標籤:遍歷
過程:count 為當前元素峰值,ans為最大峰值
初始化 count = 1
從 0 位置開始遍歷,遍歷時根據前後元素狀態判斷是否遞增,遞增則 count++,遞減則 count=1
如果 count>ans,則更新 ans
直到迴圈結束
時間複雜度:o(n)。
**實現
public
static
intfindlengthoflcis
(int
nums)
if(nums.length==1)
int ans=1;
//最大峰值
int count=1;
//臨時變數
for(
int i =
0; i 1; i++
)else
ans=count>ans? count:ans;
}return ans;
}
推薦一位學習演算法的大神:畫手大鵬
宣告:本題的解題思路參照大神畫手大鵬
動態規劃 最長遞增子串行和最長連續遞增子串行
leetcode 674.最長連續遞增序列 題目描述 給定乙個未經排序的整數陣列,找到最長且 連續遞增的子串行,並返回該序列的長度。連續遞增的子串行 可以由兩個下標 l 和 r l r 確定,如果對於每個 l i r,都有 nums i nums i 1 那麼子串行 nums l nums l 1 ...
7 2 最長連續遞增子串行 20 分
給定乙個順序儲存的線性表,請設計乙個演算法查詢該線性表中最長的連續遞增子串行。例如,1,9,2,5,7,3,4,6,8,0 中最長的遞增子串行為 3,4,6,8 輸入格式 輸入第1行給出正整數n 10 的5次方 第2行給出n個整數,其間以空格分隔。輸出格式 在一行中輸出第一次出現的最長連續遞增子串行...
LeetCode 300 最長遞增子串行
300.最長遞增子串行 我們記狀態 dp i dp i dp i 表示以第 i ii 個元素結尾的最長上公升子串行的長度,那麼專一方程就可以定義為 dp i m ax d p j 1 0 j ndnu ms j ms i dp i max dp j 1 0 leq jdp i max dp j 1 ...