動態規劃法求最長遞增子序列,?題目鏈接:力扣
代碼:
class Solution {
public:int findLengthOfLCIS(vector<int>& nums) {
if(nums.size()==1)
return 1;
int l=1;
int max_length=1;
for(int i=0;i<nums.size()-1;i++)
{if(nums[i]<nums[i+1]){ l++;max_length=max(max_length,l);}else {l=1;}
}
return max_length;}
};
定義dp數組:? ? ? ? dp[i]表示以nums[i]結尾最長遞增子序列
狀態轉移方程:? ? dp[i]=dp[i-1]?+1,如果nums[i]>nums[i-1]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dp[i]=1,??如果 nums[i] <nums[i-1]
出口:? ? ? ? ? ? ? ? ??dp[0]=1
class Solution {
public:int findLengthOfLCIS(vector<int>& nums) {
if(nums.size()==1)
return 1;
vector<int>dp(nums.size());
dp[0]=1;
int max_length=0;
for(int i=1;i<nums.size();i++)
{if(nums[i]>nums[i-1]){dp[i]=dp[i-1]+1;max_length=max(max_length,dp[i]);}else{dp[i]=1;max_length=max(max_length,dp[i]);}
}
return max_length;}
};
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态