您的位置:首页 > 产品设计 > UI/UE

674. Longest Continuous Increasing Subsequence

2017-12-26 17:34 330 查看
看了别人的一句 int max=1(不断更新max。。 思路!!!!)后  写了个简单的,不需要vector保存结果。

class Solution {
public:
int findLengthOfLCIS(vector<int>& nums) {
int a=nums.size();
int cnt=1;
if (a==0) return 0;
int max=1;
if (a>=2){

for(int i=1;i<a;i++)
{

if( nums[i]<=nums[i-1])

{
if (max<cnt) max=cnt;
cnt=1;
}
else if(i==a-1&&nums[i]>nums[i-1])
{
cnt=cnt+1;
if (max<cnt) max=cnt;
}

else

cnt=cnt+1;

}
}

return max;
}
};

其实可以更简洁:(应为if可以不要,a=1时i<a不满足,跳过for 循环 max=1不变)
class Solution {
public:
int findLengthOfLCIS(vector<int>& nums) {
int a=nums.size();
int cnt=1;
if (a==0) return 0;
int max=1;

for(int i=1;i<a;i++)
{

if( nums[i]<=nums[i-1])

{
if (max<cnt) max=cnt;
cnt=1;
}
else if(i==a-1&&nums[i]>nums[i-1])
{
cnt=cnt+1;
if (max<cnt) max=cnt;
}

else

cnt=cnt+1;

}

return max;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: