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

杀戮尖塔游戏

Java 你正在玩策略卡牌杀戮尖塔游戏,轮到你出牌,手里N张攻击卡,每张都需要花金币coust[i]和获得伤害dmager[i]。

最多花3金币能造成的最大伤害是多少?


class Solution{public int calc(int[] cost, int[] dmager, N){int[][] db = new int[N + 1][4];for(int i = 1; i <= N; i++){for(int j = 0; j <= 3; j++){if(cost[i-1] <= j){dp[i][j] = Math.max(dp[i-1][j-cost[i-1]] + dmager[i-1], dp[i-1][j]);}else{dp[i][j] = dp[i-1][j];}			}}return db[N][3];}
}

主要思路:
主要思路是使用动态规划,构建一个二维数组dp,dp[i][j]表示使用前i张卡牌,花费j金币能造成的最大伤害。对于每一张卡牌,我们可以选择使用或不使用,使用时需要判断当前金币是否足够,如果足够,就选择使用该卡牌,计算使用该卡牌后的伤害值;不足够时,就选择不使用该卡牌。最后返回dp[N][3],表示使用前N张卡牌,花费3金币能造成的最大伤害。

http://www.lryc.cn/news/374313.html

相关文章:

  • Kubernetes (K8s) 和 Spring Cloud 的区别
  • 定个小目标之刷LeetCode热题(21)
  • Oracle 打开钱包 ORA-28368: cannot auto-create wallet
  • 【麒麟虚拟机】NetworkManager没有运行
  • vue之一键部署的shell脚本和它的点.bat文件、海螺AI、ChatGPT
  • pg和oracle的区别
  • Docker:在DockerHub上创建私有仓库
  • 框架的使用
  • Autosar-DEM诊断事件管理流程
  • LabVIEW输送机动态特性参数监测系统
  • 绿色版DirectoryOpus功能强大且高度可定制的Windows文件管理器
  • Cocos Creator,Youtube 小游戏!
  • 分层解耦
  • GenICam标准(六)
  • JavaFX VBox
  • xss+csrf项目实例
  • 速盾:cdn加速怎么计费?
  • Vue3 中 props 与 emit 用法
  • 【python】如何import 另一个路径下的py文件内容
  • C/C++ Adaline自适应线性神经网络算法详解及源码
  • UniApp+Vue3使用Vant-微信小程序组件
  • python IP 端口 socket tcp 介绍
  • 【动态规划】| 路径问题之最小路径和 力扣64
  • 如何在vector中插入和删除元素?
  • 独具韵味的移动端 UI 风格
  • 【SpringBoot】SpringBoot:构建实时聊天应用
  • 基于Matlab的车牌识别停车场出入库计时计费管理系统(含GUI界面)【W6】
  • 大众点评js逆向过程(未完)
  • web前端如何设置单元格:深入解析与实用技巧
  • 龙迅LT9611UXC 2 PORT MIPIDSI/CSI转HDMI 2.1,支持音频IIS/SPDIF输入,支持标准4K60HZ输出