数组A = [1,0,1,1,1,1,0,1,1]]; 结果将是B B = [1,0,4,3,2,1,0,2,1]; 给出了A的元素,结果为B. A中的元素只能是0和1. 我们需要从A中的最后一个元素向后计数,如果有连续的1,那么A和B中的元素将会是1但是连续第二次1在A中它将会在2中并且对于第三个在A中元素将会在B中为3 但是0它将会是0.我已经尝试了下面的方式,但我不是获得输出。应该从数组A中获得数组B的正确算法
<script>
var A= [1,0,1,1,1,1,0,1,1]];
var B =[];
//var B= A.length;
var lastValueOne;
var consecutiveOnes = 0;
for (i = A.Length - 1; i >= 0; i--)
{
if (lastValueOne== false)
{
consecutiveOnes = 0;
B[i] = 0;
}
else
{
consecutiveOnes++;
B[i] = consecutiveOnes;
}
if (A[i] == 1)
{
lastValueOne = true;
}
else
{
lastValueOne = false;
}
}
//console.log(B[i]);
document.getElementById("demo").innerHTML = B;
问题是什么?你的解决方案出了什么问题? – Meier
我没有得到输出。 –
你会得到哪个输出? – Meier