682 棒球比赛
你现在是棒球比赛记录员。
给定一个字符串列表,每个字符串可以是以下四种类型之一:
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之间。

思路:
声明一个 int 类型 vector 来存储成绩,最后加到一起即可
应注意 vector 末尾元素要用 back 或 size 表示,不能用循环变量
代码:

class Solution
{public:int calPoints(vector<string> &ops){vector<int> a;int ans = 0;for (int i = 0; i < ops.size(); i++){if (ops[i] == "+")a.push_back(a.back() + a[a.size() - 2]);else if (ops[i] == "C")a.pop_back();else if (ops[i] == "D")a.push_back(2 * a.back());elsea.push_back(str2int(ops[i]));}for (int i = 0; i < a.size(); i++){ans += a[i];}return ans;}int str2int(string a){int n;stringstream ss;ss << a;ss >> n;return n;}
};

vector 力扣 682 棒球比赛相关推荐

  1. Leetcoode 682. 棒球比赛

    你现在是一场采用特殊赛制棒球比赛的记录员.这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分. 比赛开始时,记录是空白的.你会得到一个记录操作的字符串列表 ops,其中 ops[i] ...

  2. 《LeetCode刷题》682. 棒球比赛(java篇)

    题目描述: 你现在是一场采用特殊赛制棒球比赛的记录员.这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分. 比赛开始时,记录是空白的.你会得到一个记录操作的字符串列表 ops,其中 o ...

  3. leetcode 682. 棒球比赛(Baseball Game)

    目录 题目描述: 示例 1: 示例 2: 解法: 题目描述: 你现在是棒球比赛记录员. 给定一个字符串列表,每个字符串可以是以下四种类型之一: 整数(一轮的得分):直接表示您在本轮中获得的积分数. & ...

  4. LeetCode——682. 棒球比赛

    题目描述: 你现在是一场采用特殊赛制棒球比赛的记录员.这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分.比赛开始时,记录是空白的.你会得到一个记录操作的字符串列表 ops,其中 op ...

  5. 力扣199场比赛 5473. 灯泡开关 IV

    房间中有 n 个灯泡,编号从 0 到 n-1 ,自左向右排成一行.最开始的时候,所有的灯泡都是 关 着的. 请你设法使得灯泡的开关状态和 target 描述的状态一致,其中 target[i] 等于 ...

  6. [LeetCode]682. 棒球比赛(Baseball Game)Java

    一.题目: LeetCode地址 你现在是棒球比赛记录员. 给定一个字符串列表,每个字符串可以是以下四种类型之一: 1.整数(一轮的得分):直接表示您在本轮中获得的积分数. 2. "+&qu ...

  7. [LeetCode javaScript] 682. 棒球比赛

    你现在是棒球比赛记录员. 给定一个字符串列表,每个字符串可以是以下四种类型之一: 1.整数(一轮的得分):直接表示您在本轮中获得的积分数. 2. "+"(一轮的得分):表示本轮获得 ...

  8. LeetCode 682 棒球比赛

    你现在是棒球比赛记录员. 给定一个字符串列表,每个字符串可以是以下四种类型之一: 1.整数(一轮的得分):直接表示您在本轮中获得的积分数. 2. "+"(一轮的得分):表示本轮获得 ...

  9. Leetcode 682. 棒球比赛 解题思路及C++实现

    解题思路: 这道题比较简单,就是直接用一个stack,依次处理输入容器中的每一个字符串,要注意的是:将string转为int,C++中函数为stoi(): class Solution { publi ...

最新文章

  1. 南京晓庄学院计算机网络试卷,南京晓庄学院计算机网络8套卷(完整含答案).doc...
  2. 2020 最新自动驾驶技术报告出炉:Waymo、特斯拉、沃尔沃技术方案大起底
  3. 解密jQuery事件核心 - 绑定设计(一)
  4. 利用开区间覆盖的约简给出$\bf{Lindelöf}$覆盖定理的一个新证明
  5. java hashcode返回值_Java String hashCode() 使用方法及示例
  6. Software Engineering 265
  7. java处理注释_如何处理Java注释
  8. 软件工程第三次作业(最大子段和)
  9. linux定义getch函数
  10. 具体数学第一章习题题解(8,9,10,11)
  11. 基准电压——Reference voltage
  12. Python 透视表
  13. 13种老人不适合带孩子_这13种老人真的不适合带孩子 这些老人带孩子后果不堪设想...
  14. 社区服务器目录迁移实际开发运用
  15. 统计学笔记——统计基础(协方差,相关系数,决定系数)
  16. java 类可见性_Java学习笔记(类的可见性)
  17. 您还没有登录或登录已超时,请重新登录
  18. codeforces900D Unusual Sequences
  19. vue+ts项目中import图片时报错Cannot find module ‘xxx‘ or its corresponding type declarations
  20. 花开云(织音)同款超级好看404页面源码

热门文章

  1. PCB 模拟Windows管理员域帐号安装软件
  2. echarts 饼图的一种---南丁格尔玫瑰图按照百分比大小进行排序以及颜色设置的两种方式(普通设置颜色和渐变色设置)
  3. 批量修改图片名及批量进行图像数据预处理
  4. Scaleform结合C++编程
  5. l293d电机驱动芯片的控制原理
  6. 求二维函数Z=g(X,Y)型,用卷积公式求概率密度,积分区域如何确定(中)
  7. hackthebox-sauna (域渗透/bloodhound使用/mimikatz使用/secretsdump.py、psexec使用)
  8. matlab6.5字体调整,matlab6.5中如何设置下图中字体的大小?
  9. 约束的4种状态以及immediate、deferred
  10. 杨强、陈强教授新作,《隐私计算》重磅发布!