1)求最长平台的长度
程序代码:
/* ------------------------------------------------------ */
/* 最长平台的长度length */
/* ------------------------------------------------------ */
int longest_plateau(int x[], int n)
{
int length = 1; /* 平台长度大于等于1 */
int i;
for (i = 1; i < n; i++)
if (x[i] == x[i-length])
length++;
return length;
}
2)指出最长平台的位置;长度最后一次增加的平台的第一个元素的位置就是最长平台的起始位置/* 最长平台的长度length */
/* ------------------------------------------------------ */
int longest_plateau(int x[], int n)
{
int length = 1; /* 平台长度大于等于1 */
int i;
for (i = 1; i < n; i++)
if (x[i] == x[i-length])
length++;
return length;
}
程序代码:
/* ------------------------------------------------------ */
/* 最长平台的位置p */
/* ------------------------------------------------------ */
int longest_position(int x[], int n,int p)
{
int length = 1; /* 平台长度大于等于1 */
int i;
for (i = 1; i < n; i++)
if (x[i] == x[i-length])
{length++;p=i-length+1;}
return p;
}
[[italic] 本帖最后由 ttaix 于 2008-1-6 20:44 编辑 [/italic]]
/* 最长平台的位置p */
/* ------------------------------------------------------ */
int longest_position(int x[], int n,int p)
{
int length = 1; /* 平台长度大于等于1 */
int i;
for (i = 1; i < n; i++)
if (x[i] == x[i-length])
{length++;p=i-length+1;}
return p;
}





2008-1-6 16:20


