/**
* @param {string[]} ops
* @return {number}
*/
var calPoints = function(ops) {
let resultArr = [];
ops.forEach(item=>{
switch(item){
case 'C':
if(resultArr.length>0){
resultArr.pop()
}
break
case 'D':
if(resultArr.length>0){
let temp = resultArr.pop()
resultArr.push(temp,temp*2)
}
break
case '+':
if(resultArr.length>1){
let a = resultArr.pop()
let b = resultArr.pop()
resultArr.push(b,a,(a*1)+(b*1))
}
break
default:
resultArr.push(item*1)
break
}
})
let result = resultArr.reduce((total,item)=>total+item)
return result
};
Leecode 682. 棒球比赛
最新推荐文章于 2024-09-16 08:47:17 发布
该代码实现了一个名为`calPoints`的函数,它接受一个包含字符串的操作数组(如'C', 'D', '+'等)作为输入,并根据给定的规则计算分数。'C'表示清除最后一个得分,'D'将最后一个得分翻倍,'+'将最后两个得分相加。默认情况下,数字直接加入得分。最后,函数返回所有操作后的总得分。
摘要由CSDN通过智能技术生成