Java实现棒球比赛(栈的利用)

2023-11-05

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

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

整数 x - 表示本回合新获得分数 x
“+” - 表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。
“D” - 表示本回合新获得的得分是前一次得分的两倍。题目数据保证记录此操作时前面总是存在一个有效的分数。
“C” - 表示前一次得分无效,将其从记录中移除。题目数据保证记录此操作时前面总是存在一个有效的分数。
请你返回记录中所有得分的总和。

public int calPoints(String[] ops) {
        Stack<Integer> stack = new Stack();
        int op1;//此处是下次入栈前的栈顶和栈次顶的两元素
        int op2;
        for(String s : ops){
            switch(s){
                case "+":
                    op2=stack.pop();
                    op1=stack.pop();
                    stack.push(op1);
                    stack.push(op2);li
                    stack.push(op1+op2);
                break;
                case "D":
                    op2=stack.pop();
                    stack.push(op2);
                    stack.push(op2 * 2);
                break;
                case "C":
                    op2=stack.pop();
                break;
                default:
                    stack.push(Integer.valueOf(s));//记得转化为整形
                break;
            }
        }
        int sum = 0;
        while(!stack.isEmpty()){ // 出栈然后一次次相加起来,直到栈为空;
            sum =sum + stack.pop();
        }
        return sum;
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java实现棒球比赛(栈的利用) 的相关文章

  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • Java new Date() 打印

    刚刚学习 Java 我知道这可能听起来很愚蠢 但我不得不问 System out print new Date 我知道参数中的任何内容都会转换为字符串 最终值是 new Date 返回对 Date 对象的引用 那么它是如何打印这个的呢 Mo
  • Java Swing:从 JOptionPane 获取文本值

    我想创建一个用于 POS 系统的新窗口 用户输入的是客户拥有的金额 并且窗口必须显示兑换金额 我是新来的JOptionPane功能 我一直在使用JAVAFX并且它是不同的 这是我的代码 public static void main Str
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • Java TestNG 与跨多个测试的数据驱动测试

    我正在电子商务平台中测试一系列商店 每个商店都有一系列属性 我正在考虑对其进行自动化测试 是否有可能有一个数据提供者在整个测试套件中提供数据 而不仅仅是 TestNG 中的测试 我尝试不使用 testNG xml 文件作为机制 因为这些属性
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • AWS 无法从 START_OBJECT 中反序列化 java.lang.String 实例

    我创建了一个 Lambda 函数 我想在 API 网关的帮助下通过 URL 访问它 我已经把一切都设置好了 我还创建了一个application jsonAPI Gateway 中的正文映射模板如下所示 input input params
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O
  • Spring Boot @ConfigurationProperties 不从环境中检索属性

    我正在使用 Spring Boot 1 2 1 并尝试创建一个 ConfigurationProperties带有验证的bean 如下所示 package com sampleapp import java net URL import j

随机推荐

  • typora的使用

    typora的使用 1 换行的实现 在一行的结尾加上两个空格实现换行 在两行之间加回车实现换行 2 标题 多少个 就多少级标题 一共六级标题 记得输完 要加空格 1 2 3 4 5 6 3 分割线 就出现分割线 要回车 4 强调 斜体 字体
  • numpy 寻找两个二维数组中重复的行(附代码)

    numpy 两个 N M 维度的 二维数组a 和 b 以行为单位 找到 a 和 b 中都存在的行 相同的行不一定出现在同一行的位置 通过遍历每一行寻找 import numpy as np 创建两个示例数组 a sorted np arra
  • 玩转触发器之Jenkins Generic Webhook使用技巧

    1 预备知识 目标 学习HTTP基础知识 掌握如何使用Postman和Curl调用接口的方法 1 1 Web HTTP基础知识 HTTP请求是什么 HTTP超文本传输协议 是确保服务器 Server 和客户端 Client 之间的正确通信
  • php同时作为server端和client端(soapclient)的超时时间设置小结

    http blog sina com cn s blog 475429950101bt7x html 场景 A通过HTTP请求B 同时B通过soap请求C webservice 然后B得到C的返回内容后 再响应回A client A gt
  • Linux系统编程——线程

    Linux系统编程 线程 1 线程概述 与进程的区别及线程的优势 2 线程创建等待退出 3 线程共享内存空间的代码验证 4 线程同步之互斥量加锁解锁 5 互斥锁限制共享资源的访问 6 什么情况造成死锁 7 线程条件控制实现线程的同步 1 线
  • 【基于Arduino的蓝牙控制小车】3D+电路图+控制代码详解

    更好的阅读体验 目录 1 环境搭建 1 1 电路模拟环境 3D建模环境 1 2蓝牙小车控制代码环境 2 Arduino串口通信 2 1 Arduino串口 2 2 系统函数 2 3 串口函数 2 3 1 Serial begin 2 3 2
  • STM32 websocket,TCP和UDP的传输速率

    网络上经常有人提到websocket TCP和UDP 的差别 说的大都是协议之间的差别 没有提及它们的传输能力 为了设计高吞吐量的物联网微服务器 最近对websocket TCP UDP的传输能力做了测试 使用STM32F746 处理器 操
  • 建立自己的机械臂–编程

    现在 手臂已经组装好了 是时候将其提升到一个新的水平了 现在是释放野兽并完全控制整个机器人手臂的时候了 在这篇文章的结尾 您应该对如何对该机械臂进行编程以完成您想要的事情有一个想法 要了解我如何到达这里 请访问我以前的文章 该文章描述了组装
  • Library\PackageCache\com.unity Error (are you missing a using directive or an assembly reference?)

    Library PackageCache com unity cinemachine 2 2 7 Runtime Timeline CinemachineTrack cs 16 6 error CS0246 The type or name
  • PAT考试 一日游记

    今天下午去考了PAT 真的很懵逼 首先 编译器炸了 弄了一个小时多的编译器 早知道就先不点击开始了 然后就是遇到了头文件CB不能调试 主要是用了unorder map unorder set 习惯性写的头文件 开局先默写头文件 然后就这样
  • MFC菜单的使用

    1 创建弹出菜单 1 利用向导 创建一个基于单文档的应用程序 2 在资源视图中选中 menu 鼠标右键插入一新菜单IDR POPMENU 3 在IDR POPMENU菜单中添加 弹出菜单 选项 在 弹出菜单 下添加菜单命令 复制 粘贴 查找
  • getResourceAsStream方法及缓存问题

    缓存问题 getResourceAsStream会先到缓存中读取文件 若缓存中没有 才会到真正的路径下去读取文件 所以用getResourceAsStream方法获取配置文件时 获取的不是最新配置 可以使用以下方法代替 该方法直接读文件 所
  • 算法(63)-二叉树的递归-搜索二叉树-满二叉树-平衡二叉树-

    目录 1 二叉树 2 搜索二叉树 3 满二叉树 4 平衡二叉树 1 二叉树 先 中 后序遍历 先序 中 左 右 1 2 4 5 3 6 7 中序 左 中 右 4 2 5 1 6 3 7 后序 左 右 中 4 5 2 6 7 3 1 void
  • 【推荐算法】推荐系统的评估

    一 离线评估的主要方法 1 Holdout检验 Holdout检验是基础的离线评估方法 它将原始的样本集合随机划分为训练集和验证集两部分 比如70 训练集 30 测试集 但现在很多机器学习框架 深度学习框架中都增加了验证集 即将整个数据集分
  • python创建sqlite3 unicode error_在python2.7.3中使用sqlite3的Unicode

    我试图插入到一个表中 但似乎我打开的文件中有非ascii字符 这是我得到的错误 sqlite3 ProgrammingError You must not use 8 bit bytestrings unless you use a tex
  • IDEA捕获异常快捷键(try/catch……)

    捕获异常 这时候快捷键的时候就可以事半功倍 ctrl alt t
  • 每日10行代码125: 用python计算快乐8一等奖的中奖概率

    先简单介绍下快乐8一等奖的规则 投注人从80个数中选10个 开奖时会从80个数中开出20个 如果选择的10个数均在开出的20个数中 那么就是中一等奖 也叫选十中十 那么中一等奖的概率是多少呢 这其实是数学中的概率问题 解题方法 选求所有可能
  • Python算法:动态规划

    转载自伯乐在线 本节主要结合一些经典的动规问题介绍动态规划的备忘录法和迭代法这两种实现方式 并对这两种方式进行对比 大家都知道 动态规划算法一般都有下面两种实现方式 前者我称为递归版本 后者称为迭代版本 根据前面的知识可知 这两个版本是可以
  • moviepy基础_1:使用moviepy提取视频的音频及合成

    任务 提取 a mp4 的音频部分 然后把提取到的音频添加到 b mp4 里 程序实现 from moviepy editor import 读取2个视频文件 videoclip 1 VideoFileClip a mp4 videocli
  • Java实现棒球比赛(栈的利用)

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