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

【华为OD题库-083】玩牌高手-Java

题目

给定一个长度为n的整型数组,表示一个选手在n轮内可选择的牌面分数。选手基于规则选牌,请计算所有轮结束后其可以获得的最高总分数。
选择规则如下:
1.在每轮里选手可以选择获取该轮牌面,则其总分数加上该轮牌面分数,为其新的总分数。
2.选手也可不选择本轮牌面直接跳到下一轮,此时将当前总分数还原为3轮前的总分数,若当前轮次小于等于3(即在第1、2、3轮选择跳过轮次),则总分数置为0。
3.选手的初始总分数为0,且必须依次参加每一轮。
输入描述
第一行为一个小写逗号分割的字符串,表示n轮的牌面分数,1<=n <=20。
分数值为整数,-100<=分数值<=100。
不考虑格式问题。
输出描述
所有轮结束后选手获得的最高总分数。
示例1:
输入
1,-5,-6,4,3,6,-2
输出
11
说明
总共有7轮牌面。
第—轮选择该轮牌面,总分数为1。
第二轮不选择该轮牌面,总分数还原为0。
第三轮不选择该轮牌面,总分数还原为0。
第四轮选择该轮牌面,总分数为4。
第五轮选择该轮牌面,总分数为7。
第六轮选择该轮牌面,总分数为13。
第七轮如果不选择该轮牌面,则总分数还原到3轮前分数,即第四轮的总分数4,如果选择该轮牌面,总分数为11,所以选择该轮牌面。
因此,最终的最高总分为11。

思路

动态规划解决,设输入的数据为nums:
定义:dp[i]代表第i轮可得的最高分数
初始化:dp[0]=Math.max(0,nums[0])
递推关系:对于nums中的每一项(i>0),当前项只有选择和不选择两种可能:
选择得分为:dp[i-1]+nums[i]
不选择得分为:dp[i-3](i>3),当i<=3时,得分为:0
本轮得分取两者的较大值。
最终最高分为:dp[nums.length-1]

题解

package hwod;import java.util.Arrays;
import java.util.Scanner;public class PokerPlay {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int[] nums = Arrays.stream(sc.nextLine().split(",")).mapToInt(Integer::parseInt).toArray();System.out.println(pokerPlay(nums));}private static int pokerPlay(int[] nums) {int[] dp = new int[nums.length];dp[0] = Math.max(0, nums[0]);for (int i = 1; i < nums.length; i++) {if(i<3) dp[i] = Math.max(dp[i - 1] + nums[i], 0);else dp[i] = Math.max(dp[i - 1] + nums[i], dp[i-3]);}return dp[nums.length - 1];}
}

推荐

如果你对本系列的其他题目感兴趣,可以参考华为OD机试真题及题解(JAVA),查看当前专栏更新的所有题目。

相关文章:

【华为OD题库-083】玩牌高手-Java

题目 给定一个长度为n的整型数组&#xff0c;表示一个选手在n轮内可选择的牌面分数。选手基于规则选牌&#xff0c;请计算所有轮结束后其可以获得的最高总分数。 选择规则如下: 1.在每轮里选手可以选择获取该轮牌面&#xff0c;则其总分数加上该轮牌面分数&#xff0c;为其新的…...

ARM day3

题目&#xff1a;实现3盏灯的流水 代码&#xff1a; .text .global _start _start: 设置RCC寄存器使能 LDR R0,0X50000A28 LDR R1,[R0] ORR R1,R1,#(0X1<<4) ORR R1,R1,#(0X1<<5) STR R1,[R0]设置PE10管脚为输出模式 LDR R0,0X50006000 LDR R1,[R0] BIC R1,R1,…...

[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-2稳定性分析Stability

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-2稳定性分析Stability 0. 序言1. 稳定的分类2. 稳定的对象3. 稳定的系统4. 系统稳定性的讨论5. 补充内容——Transfer Function(传递函数) - nonzero Initial Condition(非零初始…...

Android Audio实战——音频链路分析(二十五)

在 Android 系统的开发过程当中,音频异常问题通常有如下几类:无声、调节不了声音、爆音、声音卡顿和声音效果异常(忽大忽小,低音缺失等)等。尤其声音效果这部分问题通常从日志上信息量较少,相对难定位根因。想要分析此类问题,便需要对声音传输链路有一定的了解,能够在链…...

PHP基础 - 常量字符串

常量 在PHP中,常量是一个简单值的标识符,定义后默认是全局变量,可以在整个运行的脚本的任何地方使用。常量由英文字母、下划线和数字组成,但数字不能作为首字母出现。 PHP中定义常量的方式是使用define()函数,其语法如下: bool define( string $name, mixed $value [,…...

Linux查看命令的绝对路径

linux查看命令的绝对路径 在Linux中&#xff0c;可以使用以下命令来查看命令的绝对路径&#xff1a; 1、which 命令名 例如&#xff0c;要查看chronyc命令的绝对路径&#xff0c;可以运行&#xff1a; which chronyc 2、whereis 命令名 例如&#xff0c;要查看chronyc命令…...

Docker build 无法解析域名

### 报错 Docker build 无法解析域名 报错&#xff1a;ERROR [ 2/12] RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 解决Docker build无法解析域名 # 追加到 etc/docker/daemon.json&#xff0c;注意JSON的格式 {"dn…...

退稿论文重复率太高会怎么样【保姆教程】

大家好&#xff0c;今天来聊聊退稿论文重复率太高会怎么样&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff1a; 退稿论文重复率太高会怎么样 在学术出版领域&#xff0c;论文的重复率是衡量其原创性和学术诚…...

Flask 最佳实践(一)

Flask是一个轻量级而强大的Python Web框架&#xff0c;它的简洁性和灵活性使其成为许多开发者的首选。然而&#xff0c;为了确保项目的可维护性和可扩展性&#xff0c;我们需要遵循一些最佳实践。本文将探讨Flask中一些关键的最佳实践。 1. 项目结构 构建一个清晰的项目结构是…...

直流电和交流电

直流电&#xff08;Direct Current&#xff0c;简称DC&#xff09;和交流电&#xff08;Alternating Current&#xff0c;简称AC&#xff09;是电流的两种基本形式。 1. 直流电 直流电是指电流方向始终保持不变的电流。在直流电中&#xff0c;电子只能沿着一个方向移动。直流电…...

『亚马逊云科技产品测评』活动征文|基于亚马逊EC2云服务器安装Prometheus数据可视化监控

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 亚马逊EC2云服务器&#xff08;Elastic Compute Cloud&#xff09;是亚马…...

15、SQL注入——Sqlmap

文章目录 一、Sqlmap简介1.1 sqlmap可以对URL干嘛&#xff1f;1.2 Sqlmap支持的注入技术1.3 SQLmap检测注入漏洞的流程1.4 Sqlmap的误报检测机制 二、sqlmap基本使用 一、Sqlmap简介 sqlmap使用教程 1.1 sqlmap可以对URL干嘛&#xff1f; 判断可注入的参数判断可以使用哪一种…...

OSPF路由协议

随着Internet技术在全球范围的飞速发展&#xff0c;OSPF已成为目前应用最广泛的路由协议之一。OSPF&#xff08;Open Shortest Path First&#xff09;路由协议是由IETF&#xff08;Internet Engineering Task Force&#xff09;IGP工作组提出的&#xff0c;是一种基于SPF算法的…...

设计模式-门面模式(Facade)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、定义二、结构 前言 在组件构建过程中&#xff0c;某些接口之间直接依赖会带来很多问题&#xff0c;甚至无法直接实现。采用一层间接接口&#xff0c;来隔离…...

语音识别从入门到精通——1-基本原理解释

文章目录 语音识别算法1. 语音识别简介1.1 **语音识别**1.1.1 自动语音识别1.1.2 应用 1.2 语音识别流程1.2.1 预处理1.2.2 语音检测和断句1.2.3 音频场景分析1.2.4 识别引擎(语音识别的模型)1. 传统语音识别模型2. 端到端的语音识别模型基于Transformer的ASR模型基于CNN的ASR模…...

语音识别功能测试:90%问题,可以通过技术解决

现在市面上的智能电子产品千千万&#xff0c;为了达到人们使用更加方便的目的&#xff0c;很多智能产品都开发了语音识别功能&#xff0c;用来语音唤醒进行交互&#xff1b;另外&#xff0c;各大公司也开发出来了各种智能语音机器人&#xff0c;比如小米公司的“小爱”&#xf…...

【Go自学版】01-基础

// 变量 var a, b, c 8, 2.3, "hello" var d float64; e : 6var A []int; var B [10]int; C : [10]int{1, 2, 3, 4} for i : 0; i < len(B); i {} for _, value : range C {} D make([]int, 3) // len 4, cap 10, 扩容方式 cap*2 E : make([]int, 4, 10) E …...

软文开头怎么写才能拿捏用户?媒介盒子为您解答

软文标题是吸引用户点击的关键因素&#xff0c;那软文开头就是决定用户能否读下去的主要因素&#xff0c;很多运营er在写文案时经常会面临的情况之一就是好不容易想到一个标题&#xff0c;点击率不错&#xff0c;但是开头不行用户一看开头&#xff0c;跑了&#xff01;如果不知…...

C语言算法与数据结构,旅游景区地图求最短路径

背景&#xff1a; 本次作业要求完成一个编程项目。请虚构一张旅游景区地图&#xff0c;景区地图包括景点&#xff08;结点&#xff09;和道路&#xff08;边&#xff09;&#xff1a;地图上用字母标注出一些点&#xff0c;表示景点&#xff08;比如&#xff0c;以点 A、B、C、…...

测试:SSE VS WebSocket

SSE&#xff08;Server-Sent Events&#xff09; SSE&#xff08;Server-Sent Events&#xff09;接口是一种实现服务器到客户端单向实时通信的技术。通过SSE&#xff0c;服务器可以主动向客户端推送数据&#xff0c;而不需要客户端不断地向服务器请求数据。这种技术特别适合于…...

如何正确计算 CSV 文件中每行学生成绩的平均值

本文详解 python 中使用 csv 模块处理学生成绩数据时常见的累积错误&#xff0c;并提供结构清晰、健壮可靠的解决方案&#xff0c;重点解决因变量作用域不当导致的平均值计算失真问题。在使用 Python 的 csv 模块逐行读取学生成绩文件&#xff08;如 "students.csv"&…...

UE5.0.3打包Linux报错?手把手教你搞定BlueprintJson插件缺失问题

UE5.0.3 Linux打包报错终极指南&#xff1a;BlueprintJson插件问题的深度解析与实战修复 当你满怀期待地在UE5.0.3中点击"打包Linux"按钮&#xff0c;却看到屏幕上弹出关于BlueprintJson插件的红色错误信息时&#xff0c;那种挫败感我深有体会。作为一名经历过无数次…...

告别Putty和串口助手:这款LVGL开发的LCOM,如何成为我的嵌入式开发调试新宠?

告别Putty和串口助手&#xff1a;这款LVGL开发的LCOM&#xff0c;如何成为我的嵌入式开发调试新宠&#xff1f; 作为一名嵌入式开发者&#xff0c;每天与各种开发板、单片机打交道是家常便饭。调试过程中&#xff0c;串口通信工具就像我们的"第三只手"&#xff0c;从…...

DDrawCompat:老游戏兼容性修复与性能优化终极解决方案

DDrawCompat&#xff1a;老游戏兼容性修复与性能优化终极解决方案 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd/DDrawC…...

基于python的演唱会门票演出购票系统的设计与实现

目录同行可拿货,招校园代理 ,本人源头供货商用户管理模块演出信息管理购票与选座功能支付系统集成订单与票务管理数据分析与报表高并发优化项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作同行可拿货,招校园代理 ,本人源头供货商…...

C语言浪漫玫瑰代码:用编程传递爱意的创意实践

1. 用代码绽放爱的玫瑰&#xff1a;程序员专属浪漫指南 当传统玫瑰花束遇上代码&#xff0c;会碰撞出怎样的火花&#xff1f;作为一名写过无数行代码的老程序员&#xff0c;我发现用C语言绘制玫瑰花不仅能展现技术实力&#xff0c;更能传递独特的情感温度。记得第一次给女友展…...

Tetrazine-amine HCl salt,CAS:1416711-59-5,四嗪-氨基盐酸盐的描述

Tetrazine-amine HCl salt&#xff08;四嗪-氨基盐酸盐&#xff09;是一种结合了四嗪基团和氨基盐酸盐结构的化合物&#xff0c;在化学、生物医药和材料科学等领域具有广泛应用。一、基本信息中文名称&#xff1a;四嗪-氨基盐酸盐英文名称&#xff1a;Tetrazine-amine HCl salt…...

seo实用工具对网站长期发展有什么影响

SEO实用工具对网站长期发展的影响 在当今数字化时代&#xff0c;网站的长期发展离不开搜索引擎优化&#xff08;SEO&#xff09;。而SEO实用工具&#xff0c;则是推动网站长期发展的重要助手。它们不仅帮助提升网站的搜索排名&#xff0c;还能够提供数据分析、关键词研究和竞争…...

基于OpenCV的边缘梯度模板匹配:代码与分析

基于Opencv边缘梯度模板匹配源码&#xff0c;今天&#xff0c;我决定深入研究一下基于OpenCV的边缘梯度模板匹配算法。说实话&#xff0c;这个算法听起来有点高大上&#xff0c;但我觉得只要一步步来&#xff0c;一定能搞明白。 什么是边缘梯度模板匹配&#xff1f; 边缘梯度模…...

MongoDB:如何构建“数据回收站“,防止人为误删数据(延迟节点)

更多内容请见: 《深入掌握MongoDB数据库》 - 专栏介绍和目录 一、引言:数据误删的现实挑战 在企业级数据库系统中,人为误删数据是导致业务中断的常见原因。根据2023年数据库安全报告,37%的数据丢失事件是由人为错误引起的,其中误删除操作占主要部分。MongoDB作为企业级No…...