この解答例はChatGPTによって生成されています,正しいかは自己判断で。
BFE.devでのAI解答例 - JavaScript コーディング問題
168. ゼロを後ろに
以下はJavaScriptでの回答例です。
function moveZeros(arr) {
// インデックスiから始めて0以外の値があるインデックスjを探し、iとjの値を入れ替える
for (let i = 0, j = 0; j < arr.length; j++) {
if (arr[j] !== 0) {
let temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
}
}
}
この解法の時空間計算量は、配列の要素数をNとすると、O(N)です。配列を一度しかループしないため、空間計算量もO(N)です。