衍伸題來了~(比樓下)
其實我還是覺得我不太懂XD
不過算了好了 XD.............
673. Number of Longest Increasing Subsequence
int findNumberOfLIS(int* nums, int numsSize) {
int i , j;
int *len = malloc(sizeof(int)*numsSize);
int *count = malloc(sizeof(int)*numsSize);
int max = 0, max_count=0;
for(i=0;i<numsSize;i++)
{
len[i] = 1;
count[i] = 1;
for(j=0;j<i;j++)
{
if(nums[i]>nums[j])
{
if (len[i]==len[j]+1)
count[i]+=count[j];
if (len[i] < len[j]+1)
{
len[i] = len[j]+1;
count[i] = count [j];
}
}
}
if (len[i] > max)
max = len[i];
}
for(i=0;i<numsSize;i++)
if(max == len[i])
max_count += count[i];
return max_count;
}
沒有留言:
張貼留言