JS实现给定一个长度为n的整型数组,表示一个选手在n轮内可选择的牌面分数。选手基于规则选牌,请计算所有轮结束后其可以获得的最高总分数。选择规则如下: 1、在每轮里选手可以选择获取该轮牌面,则其总分数加上该轮牌面分数,为其新的总分数。 2、选手也可不选择本轮牌面直接跳到下一轮,此时将当前总分数还原为3轮前的总分数,若当前轮次小于等于3(即在第1、2、3轮选择跳过轮次),则总分数置为0。 3、选手的初始总分数为0,目必须依次参加每一轮。 =20。 第一行为一个小写逗号分期的字符串,表示n轮的牌面分数,1<=n 分数值为空数,-100<=分数值<=100 运行结果
时间: 2024-02-20 10:57:35 浏览: 31
好的,那么这里是一个JS实现的代码,和之前的Python代码实现类似:
```javascript
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function(line){
const scores = line.split(',');
const n = scores.length;
const dp = new Array(n).fill(0);
for(let i = 0; i < n; i++){
const score = parseInt(scores[i]);
if(i < 3){
if(i == 0){
dp[i] = score;
}else{
dp[i] = dp[i-1] + score;
}
}else{
dp[i] = Math.max(dp[i-1]+score, dp[i-3]+score);
}
}
console.log(dp[n-1]);
});
```
我们使用了Node.js自带的readline模块来读取用户输入的数据,然后按照之前Python代码的逻辑来实现。具体实现思路请参考之前的Python代码。最后,我们使用console.log输出最高总分数。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)