假设我有一个数组,我想生产b这些只是例子
a=[4]=> b=[0,4]
a=[3,1]=>b=[0,3,3,4]
a=[2,2]=>b=[0,2,2,4]
a=[2,1,1]=>b=[0,2,2,3,3,4]
a=[3,4,2,5]=>b=[0,3,3,7,7,9,9,14]
我的意思是当获得4时它应该从0开始生成然后将其添加到它的内容中,例如4 或者在[2,1,1]中,它将产生0,然后它看到a中的下一个是1,所以在再次产生它之后它将计算2 + 1并分配它。所以输出总是两倍大小输入。 我想要一个伪代码,我的问题是,当它重复时,我不能写它。
答案 0 :(得分:0)
我使用JavaScript语法。
var a = new Array(3,4,2,5);
var b = new Array();
var bArrayIndex = 0;
b[bArrayIndex] = 0;
bArrayIndex++;
for(i = 0; i < a.length; i++) {
b[bArrayIndex] = b[bArrayIndex-1] + a[i];
if(i < a.length - 1) {
b[bArrayIndex+1] = b[bArrayIndex];
}
bArrayIndex+=2;
}
for(i = 0; i < b.length; i++) {
document.write(b[i] + " ");
}