当前位置: 首页 > news >正文

wordpress建站图片效果/磁力蜘蛛

wordpress建站图片效果,磁力蜘蛛,网站的建设成本,团购机票网站建设🙉饭不食,水不饮,题必须刷🙉C语言免费动漫教程,和我一起打卡!🌞《光天化日学C语言》🌞LeetCode 太难?先看简单题!🧡《C语言入门100例》&#x1f9…

🙉饭不食,水不饮,题必须刷🙉

C语言免费动漫教程,和我一起打卡!
🌞《光天化日学C语言》🌞

LeetCode 太难?先看简单题!
🧡《C语言入门100例》🧡

数据结构难?不存在的!
🌳《画解数据结构》🌳

LeetCode 太简单?算法学起来!
🌌《夜深人静写算法》🌌

文章目录

  • 一、题目
    • 1、题目描述
    • 2、基础框架
    • 3、原题链接
  • 二、解题报告
    • 1、思路分析
    • 2、时间复杂度
    • 3、代码详解
  • 三、本题小知识

一、题目

1、题目描述

  你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,ops 遵循下述规则:
  整数 x- 表示本回合新获得分数 x
  "+"- 表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。
  "D"- 表示本回合新获得的得分是前一次得分的两倍。题目数据保证记录此操作时前面总是存在一个有效的分数。
   "C"- 表示前一次得分无效,将其从记录中移除。题目数据保证记录此操作时前面总是存在一个有效的分数。请你返回记录中所有得分的总和。
  样例输入: ops = ["5","2","C","D","+"]
  样例输出: 30

2、基础框架

  • C语言 版本给出的基础框架代码如下:
int calPoints(char ** ops, int opsSize){
}

3、原题链接

LeetCode 682. 棒球比赛

二、解题报告

1、思路分析

总共四种操作,分别模拟处理即可:
  x:字符串转换成整数后入栈;
  +:取 栈顶次栈顶 元素相加后入栈;
  D:将栈顶元素乘 2 后入栈;
  C:出栈;

  • 最后就是依次出栈,然后累加所有元素的和了。
  • 有关 的实现,可以参见以下文章:《画解数据结构》栈。

2、时间复杂度

  • 由于每个括号最多入栈一次,出栈一次。
  • 所以时间复杂度:O(n)O(n)O(n)

3、代码详解

/************************************* 栈的顺序表实现 *************************************/
#define DataType int
#define maxn 100010struct Stack {DataType data[maxn];int top;
};void StackClear(struct Stack* stk) {stk->top = 0;
}
void StackPushStack(struct Stack *stk, DataType dt) {stk->data[ stk->top++ ] = dt;
}
void StackPopStack(struct Stack* stk) {--stk->top;
}DataType StackGetTop(struct Stack* stk) {return stk->data[ stk->top - 1 ];
}
int StackGetSize(struct Stack* stk) {return stk->top;
}
bool StackIsEmpty(struct Stack* stk) {return !StackGetSize(stk);
}
/************************************* 栈的顺序表实现 *************************************/struct Stack stk;int calPoints(char ** ops, int opsSize){int i, sum;int topval, nowval;StackClear(&stk);    for (i = 0; i < opsSize; ++i) {if( !strcmp(ops[i], "+") ) {topval = StackGetTop(&stk);                   // (1)StackPopStack(&stk);                          // (2)nowval = topval + StackGetTop(&stk);          // (3)StackPushStack(&stk, topval);                 // (4)StackPushStack(&stk, nowval);                 // (5)}else if( !strcmp(ops[i], "D") ) {StackPushStack(&stk, 2 * StackGetTop(&stk) ); // (6)}else if( !strcmp(ops[i], "C") ) {StackPopStack(&stk);                          // (7)}else {StackPushStack(&stk, atoi(ops[i]));           // (8)}}sum = 0;while(!StackIsEmpty(&stk)) {                          // (9) sum += StackGetTop(&stk);StackPopStack(&stk);}return sum;
}
  • (1)(1)(1) 获取栈顶;
  • (2)(2)(2) 先弹出,以便获取次栈顶;
  • (3)(3)(3) 栈顶两个元素相加;
  • (4)(4)(4) 将之前的栈顶元素放回去;
  • (5)(5)(5) 更新本次得分;
  • (6)(6)(6) 前一次得分的两倍;
  • (7)(7)(7) 前一次得分无效,直接出栈;
  • (8)(8)(8) 字符串转数字,偷懒了一下用系统 API 直接上了;
  • (9)(9)(9) 最后将栈中元素都弹出来相加就是答案了。

三、本题小知识

   可以用来做表达式求值。


http://www.lbrq.cn/news/1077481.html

相关文章:

  • 党支部建设网站/软文广告属于什么营销
  • 武汉建网公司网站建设/网站建设公司
  • 做网站价格差异很大/百度推广客户端怎么登陆
  • 腾讯做电脑吃鸡网站/注册网站流程和费用
  • 人才网站/西地那非片的功能主治
  • 怎么把在EXCEL做的查询系统做到网站上/百度提交入口网址
  • 宁波网站建设 熊掌号/长沙网站建设
  • 网页美工设计公司/排名优化服务
  • 正规接单赚佣金的app/win7优化大师官网
  • wp网站开发/上海今天最新发布会
  • 天猫购物商城/徐州seo推广
  • asp网站建设实录pdf/百度站内搜索代码
  • 什么是大型门户网站/免费网站制作教程
  • 织梦的cms哪些网站/合肥seo优化公司
  • window2008 网站建设/seo网站营销推广公司
  • 多少钱翻译/北京排名seo
  • 企业网站改版seo/潮州网络推广
  • 在线教育网站建设方案/刷关键词怎么刷
  • 网站建设 风险/百度seo排名在线点击器
  • 网站申请名称/品牌策划公司排行榜
  • ui做网站实例/什么是搜索关键词
  • 政府网站 定制/搜索引擎优化的办法有哪些
  • 企业网站设计策划/做百度seo
  • php网站空间购买/品牌推广的意义
  • 电销系统开发/seo整站优化费用
  • 北海做网站哪家好/网址
  • 营销型网站策划 建设的考试题/百度推广电话销售好做吗
  • 建一个网站难不难/重庆网站seo技术
  • 韩国网站never/天天seo百度点击器
  • 网站切图是指什么/seo咨询邵阳
  • 电子电气架构 --- 汽车网络安全概述
  • 8.1IO进程线程——文件IO函数
  • 3D 建模核心术语扫盲:拓扑、UV 展开、烘焙与 AO 贴图解析
  • LCM中间件入门(2):LCM核心实现原理解析
  • 【预判一手面试问题:排序】
  • 2419.按位与最大的最长子数组