首先,定义一个整型变量maxLength来记录最长的连续递增的子序列的长度。
再定义一个整型变量length来记录实时连续递增子序列的长度。
从i=0开始,并判断nums[i]<nums[i+1]是否成立。若成立则length++,继续执行,直到条件不成立,length与maxLength比较,较大的结果等于maxLength,并令length=1,继续执行循环,直到循环结束。
int findLengthOfLCIS(int* nums, int numsSize) {
int maxLength=1;//定义一个整型变量maxLength来记录最长的连续递增的子序列的长度
int length=1;//定义一个整型变量length来记录实时连续递增的子序列的长度
//从i等于0开始,判断num[i]<num[i+1]是否成立
if(numsSize>1)//如果numsSize大于1,才可能开始比较
{
for(int i=0;i<numsSize-1;i++)//逐个遍历向后
{
if(nums[i]<nums[i+1])
{
length++;
if(length>=maxLength)
{
maxLength=length;
}
}
else
{
if(length>=maxLength)
{
maxLength=length;
}
length=1;
}
}
}
else if(numsSize==0)
{
return 0;
}
else if(numsSize==1)
{
return 1;
}
printf("%d",maxLength);
return maxLength;
}
int calPoints(char** operations, int operationsSize) {
int ret=0;
int*points=(int*)malloc(sizeof(int)*operationsSize);//开辟operationSize个int大小的空间
if(points==NULL)
{
return 0;
}
int pos=0;
for(int i=0;i<operationsSize;i++)
{
switch(operations[i][0]){
case'+':
ret+=points[pos-1]+points[pos-2];
points[pos++]=points[pos-1]+points[pos-2];
break;
case'D':
ret+=2*points[pos-1];
points[pos++]=2*points[pos-1];
break;
case'C':
ret-=points[pos-1];
pos--;
break;
default:
ret+=atoi(operations[i]);
points[pos++]=atoi(operations[i]);
break;
}
}
free(points);
return ret;
}