gpt4 book ai didi

javascript - 跳上云端 HackerRank

转载 作者:行者123 更新时间:2023-11-30 19:09:36 26 4
gpt4 key购买 nike

enter image description here我想创建一个函数来返回一个数组,其中包含完成另一个数组所需的步骤数,但有一个小条件,我只想在 0 上执行步骤,这意味着如果我有数组 c = [0,0 ,0,1,0,0,1,0] 它将把前三个 0 作为一个步骤但是如果我只有一个 0 正如你在数组末尾看到的那样这将是一个步骤所以对于这个数组它将采取 4 个步骤来完成它 (0,0,0)(0)(0)(0) 正如你所看到的它会忽略 (1)

如果你想要更好的描述,这是测试的链接 HakerRank tets link

var array = [0, 0, 0, 1, 0, 0, 1, 0]
var stepsArray = [];

function jumpingOnClouds(c) {
for (var i = 0; i < c.length; i++) {
if (c[i] === 0) {
if (c[i] === c[i + 1])
stepsArray.push(c[i + 1])
} else {
stepsArray.push(c[i])
}
}

return stepsArray.length

}
var result = jumpingOnClouds(array);
console.log(result);

我也试过这个,但它总是给我同样的错误

   var array = [0, 0, 0, 1, 0, 0]
var stepsArray = [];
function jumpingOnClouds(c) {
for(var i = 0; i < c.length - 1; i++){
if (c[i] === 0) {
console.log(c[i])
if (c[i] === c[i + 1] && c[i + 1] === c[i + 2]) {
stepsArray.push(c[i + 2])
} else if (c[i] === c[i + 1]) {
stepsArray.push(c[i + 1])
} else {
stepsArray.push(c[i])
}
}
}
return stepsArray.length

}
var result = jumpingOnClouds(array);
console.log(result)

最佳答案

刚刚为 I 索引的解决方案添加了 2 个约束并删除了不需要的条件:

我在 Hackerrank 上测试了我的解决方案:

检查一下:

'use strict';

const fs = require('fs');

process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', inputStdin => {
inputString += inputStdin;
});

process.stdin.on('end', _ => {
inputString = inputString.replace(/\s*$/, '')
.split('\n')
.map(str => str.replace(/\s*$/, ''));

main();
});

function readLine() {
return inputString[currentLine++];
}

// Complete the jumpingOnClouds function below.
function jumpingOnClouds(c) {

var stepsArray = [];

let i=0;
while(i < c.length - 1){

if ((i+2<c.length) && (c[i+2] === 0)) {
stepsArray.push(c[i + 2]);
i+=2;
} else{
stepsArray.push(c[i + 1]);
i+=1;
}

}
return stepsArray.length

}

function main() {
const ws = fs.createWriteStream(process.env.OUTPUT_PATH);

const n = parseInt(readLine(), 10);

const c = readLine().split(' ').map(cTemp => parseInt(cTemp, 10));

let result = jumpingOnClouds(c);

ws.write(result + "\n");

ws.end();
}

关于javascript - 跳上云端 HackerRank,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58629804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com