用该索引计算一个连续的子阵列开始

时间:2015-08-12 11:55:34

标签: arrays algorithm maxlength sub-array

我有一个数组A,并且想要一个大小相同的数组B,其中B[i]表示连续子数组的长度以A[i]开头,其中所有元素都少于大于或等于A[i]

示例

A={1,3,4,2,4,5,1,6} 

输出

B={1,1,3,1,1,2,1,1} 

说明:

对于A[2]=4,有一个元素为{4,2,4}的子数组,对于A[5]=5{5,1}有一个子数组A[7]=6,有子数组{6}

1 个答案:

答案 0 :(得分:0)

You can apply below algorithm to get the answer for your problem:-

Array B =[]; //initialize blank array
for (int i=0; i< A.length(); i++)
{
    j=i;
    length=1;
    while(i< A.length()-1)
    {
        j++;
        if(A[j]<=A[i])
            length++;
        else
            break;
    }
B[i]= length;
}

Print B // This will give you the similar array as of Array "A".