leetcode674. 最长连续递增序列
生活随笔
收集整理的這篇文章主要介紹了
leetcode674. 最长连续递增序列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:題目
二:上碼
1:方法一貪心
class Solution { public:/**思路:1.貪心**/int findLengthOfLCIS(vector<int>& nums) {int ans = 1;int count = 1;for (int i = 1; i < nums.size(); i++) {if(nums[i] > nums[i-1]) {count++;}else{count = 1;//出現不連續的狀態}if(count > ans) ans = count;}return ans;} };2:方法二
class Solution { public:/**思路:1.動態規劃1>:確定dp數組以及下標的含義dp[j] 表示的是j之前且包括j的最長連續序列2>:確定dp數組的遞推公式if(nums[j] > nums[j-1]) dp[j] = dp[j-1] + 1;if(nums[j] < nums[j-1]) dp[j] = 1;//這步也可以不寫 反正 只要出現反例的話 我們就跳過了//那么再遇見增長的 其前面因為是跳過的所以其值為13>:確定dp數組的初始化初始化為14>:確定dp數組的遍歷順序從前往后 j需要j-1 5>:舉例驗證1 3 5 4 70 1 2 3 4初始化 1 1 1 1 1i=1 1 2 3 1 2**/int findLengthOfLCIS(vector<int>& nums) {vector<int>dp(nums.size(),1);for (int j = 1; j < nums.size(); j++) {if (nums[j] > nums[j-1]) dp[j] = dp[j-1] + 1;if (nums[j] < nums[j-1]) dp[j] = 1;}int ans = 0;for (auto nums:dp) {ans = max(nums,ans);}return ans;} };總結
以上是生活随笔為你收集整理的leetcode674. 最长连续递增序列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode300. 最长递增子序列
- 下一篇: leetcode718. 最长重复子数组