首页 > 其他分享 >682. 棒球比赛 Easy

682. 棒球比赛 Easy

时间:2024-07-29 20:26:09浏览次数:16  
标签:得分 记录 ops 10 num ans Easy 棒球 682

你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。

比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,ops 遵循下述规则:

 1.整数 x - 表示本回合新获得分数 x

 2."+" - 表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。

 3."D" - 表示本回合新获得的得分是前一次得分的两倍。题目数据保证记录此操作时前面总是存在一个有效的分数。

 4."C" - 表示前一次得分无效,将其从记录中移除。题目数据保证记录此操作时前面总是存在一个有效的分数。

请你返回记录中所有得分的总和。

示例 1:

输入:ops = ["5","2","C","D","+"]
输出:30
解释:
"5" - 记录加 5 ,记录现在是 [5]
"2" - 记录加 2 ,记录现在是 [5, 2]
"C" - 使前一次得分的记录无效并将其移除,记录现在是 [5].
"D" - 记录加 2 * 5 = 10 ,记录现在是 [5, 10].
"+" - 记录加 5 + 10 = 15 ,记录现在是 [5, 10, 15].
所有得分的总和 5 + 10 + 15 = 30

示例 2:

输入:ops = ["5","-2","4","C","D","9","+","+"]
输出:27
解释:
"5" - 记录加 5 ,记录现在是 [5]
"-2" - 记录加 -2 ,记录现在是 [5, -2]
"4" - 记录加 4 ,记录现在是 [5, -2, 4]
"C" - 使前一次得分的记录无效并将其移除,记录现在是 [5, -2]
"D" - 记录加 2 * -2 = -4 ,记录现在是 [5, -2, -4]
"9" - 记录加 9 ,记录现在是 [5, -2, -4, 9]
"+" - 记录加 -4 + 9 = 5 ,记录现在是 [5, -2, -4, 9, 5]
"+" - 记录加 9 + 5 = 14 ,记录现在是 [5, -2, -4, 9, 5, 14]
所有得分的总和 5 + -2 + -4 + 9 + 5 + 14 = 27

示例 3:

输入:ops = ["1"]
输出:1

提示:

 ·1 <= ops.length <= 1000

 ·ops[i] 为 "C""D""+",或者一个表示整数的字符串。整数范围是 [-3 * 104, 3 * 104]

 ·对于 "+" 操作,题目数据保证记录此操作时前面总是存在两个有效的分数

 ·对于 "C" 和 "D" 操作,题目数据保证记录此操作时前面总是存在一个有效的分数

题目大意:计算比赛记录中所有得分的总和。

分析:用栈模拟记录中的添加得分和删除得分等操作即可。

class Solution {
public:
    int calPoints(vector<string>& operations) {
        int N=-1,ans=0;
        vector<int> num(operations.size());
        for(const auto& ele:operations){
            switch(ele[0]){
                case 'C':
                    ans-=num[N];
                    --N;
                    break;
                case 'D':
                    num[N+1]=2*num[N];
                    ans+=num[++N];
                    break;
                case '+':
                    num[N+1]=num[N]+num[N-1];
                    ans+=num[++N];
                    break;
                default:
                    num[++N]=stoi(ele);
                    ans+=num[N];
            }
        }
        return ans;
    }
};

标签:得分,记录,ops,10,num,ans,Easy,棒球,682
From: https://blog.csdn.net/m0_60444839/article/details/140780370

相关文章

  • 视频汇聚平台EasyCVR安防监控系统目录分级功能如何使用?
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构,兼容性强、支持多协议接入,包括国标GB/T28181协议、部标JT808、GA/T1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SDK等。平台能对外分发RTMP、RT......
  • 基于EasyTcp4Net开发一个功能较为完善的去持久化聊天软件
    之前自己写了一篇介绍TCP的一些常用的功能介绍和特征,并且用代码做了示例,最终开发了一个EasyTcp4Net的TCP工具库,其最大的特色就是使用了微软提供的高性能库中的一些数据结构来处理TCP数据。最近辞职待业在家,也没啥事做,就利用自己写的TCP通讯库基础上开发了一个示例的聊天程序,功能......
  • LeetCode682
    classSolution{  publicintcalPoints(String[]operations){    int[]a=newint[1000];    intj=0;    intsum=0;    for(inti=0;i<operations.length;i++){        if("+".equals(operations[i])){ ......
  • Easysearch、Elasticsearch、Amazon OpenSearch 快照兼容对比
    在当今的数据驱动时代,搜索引擎的快照功能在数据保护和灾难恢复中至关重要。本文将对Easysearch、Elasticsearch和AmazonOpenSearch的快照兼容性进行比较,分析它们在快照创建、恢复、存储格式和跨平台兼容性等方面的特点,帮助大家更好地理解这些搜索引擎的差异,从而选择最适合自......
  • CodeForces 1883G1 Dances (Easy version)
    题目链接:CodeForces1883G1【Dances(Easyversion)】思路    为了使得数组a,b中的每个对应元素满足a[i]<b[i],所以将数组a,b按从小到大依次排列,优先删除数组a中较大的元素和数组b中较小的元素,由于删去的元素个数具有单调性,所以使用二分优化,计算最少要删去几个元素。......
  • codeforces 1209E1 Rotate Columns (easy version)
    codeforces1209E1RotateColumns(easyversion)题目传送门:codeforcces,luogu思路贪心,暴力搜索贪心对于所有列,只有列中最大值在所有列的最大值中前\(n\)大才可能对答案有贡献。证明:若有非前\(n\)大的列对某行最大值产生了贡献,则用没有被取的前\(n\)大的列代替该行......
  • Easy521和Easy521的EIP通讯
    1, 从站添加流程     2,本机作为从站时的配置 ......
  • 本地海康大华和录像机接入公网EasyCVR平台----调用查看设备状态,报警信息,实时播放,视频
    一.登录  GET/api/v1/login参数 字段类型描述usernameString用户名passwordString密码(经过md5加密,32位长度,不带中划线,不区分大小写)200字段类型描述    TokenString开启鉴权后访问接口需要带上Token信息    TokenTimeoutNumberToken超时(秒)Ea......
  • [RCTF2015]EasySQL 1
    目录题目分析源码分析注入位置正则过滤注入方式注入题目分析这道题目给源码了,但别人貌似都是黑盒做的,不管了,代码审计启动!源码分析注入位置注入的位置在changepwd.php<?phpsession_start();header("Content-Type:text/html;charset=UTF-8");require_on......
  • Springboot高校勤工俭学平台-计算机毕业设计源码66824
    摘 要本研究基于SpringBoot企业框架,设计并实现了一款高校勤工俭学平台,包括首页、通知公告、新闻通知和岗位信息等功能模块。该平台旨在为高校学生提供便捷的勤工俭学信息发布与查询服务,促进校园内部劳动力资源的充分利用和高效管理。在研究背景中,探讨了高校勤工俭学项目的......