博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 682. 棒球比赛(Baseball Game)
阅读量:5135 次
发布时间:2019-06-13

本文共 1821 字,大约阅读时间需要 6 分钟。

目录

题目描述:

你现在是棒球比赛记录员。

给定一个字符串列表,每个字符串可以是以下四种类型之一:

  1. 整数(一轮的得分):直接表示您在本轮中获得的积分数。
  2. "+"(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。
  3. "D"(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。
  4. "C"(一个操作,这不是一个回合的分数):表示您获得的最后一个有效 回合的分数是无效的,应该被移除。

每一轮的操作都是永久性的,可能会对前一轮和后一轮产生影响。

你需要返回你在所有回合中得分的总和。

示例 1:

输入: ["5","2","C","D","+"]输出: 30解释:     第1轮:你可以得到5分。总和是:5。    第2轮:你可以得到2分。总和是:7。    操作1:第2轮的数据无效。总和是:5。    第3轮:你可以得到10分(第2轮的数据已被删除)。总数是:15。    第4轮:你可以得到5 + 10 = 15分。总数是:30。

示例 2:

输入: ["5","-2","4","C","D","9","+","+"]输出: 27解释:     第1轮:你可以得到5分。总和是:5。    第2轮:你可以得到-2分。总数是:3。    第3轮:你可以得到4分。总和是:7。    操作1:第3轮的数据无效。总数是:3。    第4轮:你可以得到-4分(第三轮的数据已被删除)。总和是:-1。    第5轮:你可以得到9分。总数是:8。    第6轮:你可以得到-4 + 9 = 5分。总数是13。    第7轮:你可以得到9 + 5 = 14分。总数是27。

注意:

  • 输入列表的大小将介于1和1000之间。
  • 列表中的每个整数都将介于-30000和30000之间。

解法:

class Solution {public:    long long toNum(string num){        bool neg = false;        if(num[0] == '-'){            neg = true;            num = num.substr(1);        }        long long res = 0;        for(char ch : num){            res *= 10;            res += int(ch - '0');        }        if(neg){            return -res;        }else{            return res;        }    }        int calPoints(vector
& ops) { vector
vals; int sz = 0; long long res = 0; for(string op : ops){ if(op == "+"){ vals.push_back(vals[sz-2] + vals[sz-1]); sz++; }else if(op == "D"){ vals.push_back(2 * vals[sz-1]); sz++; }else if(op == "C"){ vals.pop_back(); sz--; }else{ vals.push_back(toNum(op)); sz++; } } for(long long val : vals){ res += val; } return res; }};

转载于:https://www.cnblogs.com/zhanzq/p/10607006.html

你可能感兴趣的文章
3款强大的BootStrap的可视化制作工具推荐
查看>>
Sql Server临时表获取链接数据库查询结果
查看>>
对象流--对象的序列化
查看>>
NXP S32K RTC模块手册中文
查看>>
POJ 1329 三角外接圆
查看>>
7个最好的免费杀毒软件下载
查看>>
PHP图像处理:3D图纸、缩放、回转、剪下、水印(三)
查看>>
C++ 中dynamic_cast<>的用法
查看>>
让你提前认识软件开发(28):数据库存储过程中的重要表信息的保存及相关建议...
查看>>
ArcGIS API For JS 之Symbol
查看>>
Java——Set 集合
查看>>
Your Progress As A Programmer Is All Up To You
查看>>
Laravel 调试利器 Laravel Debugbar 扩展包安装及使用教程
查看>>
成功在MP4封装的H264视频中提取能播放的裸流
查看>>
python tkinter-单选、多选
查看>>
2014年03月 面试总结
查看>>
Python3安装turtle提示错误:Command "python setup.py egg_info" failed with error code 1
查看>>
欧拉函数---预处理打表
查看>>
题解报告:hdu 1028 Ignatius and the Princess III(母函数or计数DP)
查看>>
【转】vue项目重构技术要点和总结
查看>>