給定乙個未排序的整數陣列,找到最長遞增子串行的個數。
示例 1:
輸入: [1,3,5,4,7]
輸出: 2
解釋: 有兩個最長遞增子串行,分別是 [1, 3, 4, 7] 和[1, 3, 5, 7]。
示例 2:
輸入: [2,2,2,2,2]
輸出: 5
解釋: 最長遞增子串行的長度是1,並且存在5個子序列的長度為1,因此輸出5。
dp[i]:i前最長遞增子串行的長度
新增乙個計數陣列count,如果dp[j]+1==dp[i]就說明有兩組最長遞增子串行
nums: 1 3 5 4 7
count:1 2 3 3 4
1 3 5
1 3 4
class solution
else
if(dp[j]+1
==dp[i]
) count[i]
+=count[j]
; maxn=
max(maxn,dp[i]);
}}for(
int i=
0;i++i)
if(dp[i]
==maxn)
ans+
=count[i]
;return ans;}}
;
leetcode 673 最長遞增子串行的個數
給定乙個未排序的整數陣列,找到最長遞增子串行的個數。示例 1 輸入 1,3,5,4,7 輸出 2 解釋 有兩個最長遞增子串行,分別是 1,3,4,7 和 1,3,5,7 示例 2 輸入 2,2,2,2,2 輸出 5 解釋 最長遞增子串行的長度是1,並且存在5個子序列的長度為1,因此輸出5。分析 舉個...
leetcode673 最長遞增子串行的個數
題目 這道題有點貪心?最優規劃?動態規劃?我也不知道叫啥了。就是從前往後算,後者的計算需要用到前者的值 原本想法,找到各個點的當前最長長度,找到最長的幾個值,然後倒推,後來覺得倒推太費時間,能不能在取最長值的時候,就把解拿到 就有了下面的 如果只要求最長長度 只需要int maxs new int ...
Leetcode 673 最長遞增子串行的個數
給定乙個未排序的整數陣列,找到最長遞增子串行的個數。示例 1 輸入 1,3,5,4,7 輸出 2 解釋 有兩個最長遞增子串行,分別是 1,3,4,7 和 1,3,5,7 示例 2 輸入 2,2,2,2,2 輸出 5 解釋 最長遞增子串行的長度是1,並且存在5個子序列的長度為1,因此輸出5。注意 給定...