我上个文章提到了最长递增子序列这个题可以去看看
这个标题翻译人话就是找出最长的递增子串,用一层for循环就行,时间复杂度是O(n)
比起上个题,一个范围多条子序列(路径)这里一个范围只有一条递增路径,所以特别单纯
甚至不需要dp数组
- class Solution {
- public:
- int findLengthOfLCIS(vector<int>& nums) {
- int n=nums.size();
- vector<int>dp(n,1);
- int ans=1;
- for(int i=1;i<n;i++)
- {
- if(nums[i]>nums[i-1])
- {
- dp[i]+=dp[i-1];
- }
- else
- if(nums[i]<nums[i-1])
- {
- continue;
- }
- }
- for(auto m:dp)
- {
- ans=max(ans,m);
- }
- return ans;
- }
- };
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |