Leecode 682. 棒球比赛

24 篇文章 0 订阅
该代码实现了一个名为`calPoints`的函数,它接受一个包含字符串的操作数组(如'C', 'D', '+'等)作为输入,并根据给定的规则计算分数。'C'表示清除最后一个得分,'D'将最后一个得分翻倍,'+'将最后两个得分相加。默认情况下,数字直接加入得分。最后,函数返回所有操作后的总得分。
摘要由CSDN通过智能技术生成
/**
 * @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
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值