l*********8 发帖数: 4642 | 1 int bestGrouping(char c[], int n)
{
if (n < 2)
return 0;
if (n<4)
return groupScore(c, n);
int * scores = new int[n];
a[0] = 0;
a[1] = groupScore(c, 2)
a[2] = groupScore(c, 3)
a[3] = groupScore(c, 2) = groupScore(c+2, 2);
for (int i=4; i
a[i] = groupScore(c+i-2, 3) + a[i-3];
a[i] = max(a[i], groupScore(c+i-1, 2) + a[i-2]);
}
int result = scores[n-1];
delete [] scores;
return result;
}
int groupScore(char c[], int n)
{
... 阅读全帖 |
|