各位,我想请教一个问题
有一组数据如:0 0 1 1 1 0 1 0 1 1 0 0;我想把它变成
0 0 3 3 3 0 1 0 2 2 0 0;
不知道怎样编程实现,数据有很多,这里只是列了一点点。
我初步想法是这样的
假如设向量c=c(0 0 1 1 1 0 1 0 1 1 0 0),c表示第i个数。
那么
当c=0时c保持不变依旧为0;
当c>0时,c+1,再看c[i-1]是否大于0,如果大于0,也对c[i-1]+1,如果c[i-1]=0,则不改变;继续检验c[i-2],直到第一个c[i-j]=0时,不在继续;
再对c[i+1]做上述同样的步骤。
不知道这个想法能否实现我的目标。现在也不知道这个怎样编程实现。
谢谢即将看到这贴的各位了。