次のチャレンジ質問が表示されます。
部屋には100個のバスケットの輪があります。バスケットには 1 から 100 までの番号が付けられており、各バスケットにはリンゴが 1 個入っています。最終的に、バスケット 1 のリンゴは削除されますが、バスケット 2 のリンゴはスキップされます。次に、バスケット 3 のリンゴが削除されます。これは、バスケットにリンゴが 1 つだけ残るまで (円の周りを移動し、バスケットからリンゴを取り除き、次のリンゴをスキップして) 続きます。残りのリンゴがどのバスケットに入っているかを判断するコードを書きます。
バスケット 100 には最後のリンゴが含まれると結論付けました。コードは次のとおりです。
var allApples = [];
var apples = [];
var j = 0;
var max = 100;
var o ='';
while (j < max) {
o += ++j;
allApples.push(j);
}
var apples = allApples.filter(function(val) {
return 0 == val % 2;
});
while (apples.length > 1) {
for (i = 0; i < apples.length; i += 2) {
apples.splice(i, 1);
}
}
console.log(apples);
私の質問は次のとおりです。これを正しく行いましたか? 気になるのは、籠の「輪」の描写です。これが私のソリューションのコーディング方法とまったく関係があるかどうかはわかりません。そして、残りのリンゴが入っているバスケットは、そうでなければスキップされるものでしょうか?
私がこれに正しく答えたのか、部分的に正しいと答えたのか、それとも私の答えが完全に間違っているのか、誰かが私に知らせてくれることを願っています. 助けてくれてありがとう。