375. 猜数字大小 II leetcode java
题目:
我们正在玩一个猜数游戏,游戏规则如下:
我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字。
每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了。
然而,当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。直到你猜到我选的数字,你才算赢得了这个游戏。
示例:
n = 10, 我选择了8.第一轮: 你猜我选择的数字是5,我会告诉你,我的数字更大一些,然后你需要支付5块。 第二轮: 你猜是7,我告诉你,我的数字更大一些,你支付7块。 第三轮: 你猜是9,我告诉你,我的数字更小一些,你支付9块。游戏结束。8 就是我选的数字。你最终要支付 5 + 7 + 9 = 21 块钱。
给定 n ≥ 1,计算你至少需要拥有多少现金才能确保你能赢得这个游戏。
思路:
class Solution {public int getMoneyAmount(int n) {int[][] dp = new int[n + 1][n + 1];for (int j = 2; j <= n; j++) {for (int i = j - 1; i >= 0; i--) {int global_min = Integer.MAX_VALUE;for (int k = i + 1; k < j; k++) {int max = k + Math.max(dp[i][k - 1], dp[k + 1][j]);global_min = Math.min(global_min, max);}dp[i][j] = i + 1 == j ? i : global_min;//当i == j - 1时,dp[i][j]即为i j中的较小者i }}return dp[1][n];} }
转载于:https://www.cnblogs.com/yanhowever/p/10668901.html
375. 猜数字大小 II leetcode java相关推荐
- 375. 猜数字大小 II
375. 猜数字大小 II 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字. 你来猜我选了哪个数字. 如果你猜到正确的数字,就会 赢得游戏 . 如果你猜错了,那么我会告诉你 ...
- leetcode - 375. 猜数字大小 II
解题思路:这道题目的意思是我告诉你一个n值,然后我会在1到n之间选一个数字,让你来猜我选了哪个数. 我们需要意识到我们在范围 (1, n)中猜数字的时候,需要考虑最坏情况下的代价.也就是说要算每次都猜 ...
- 【LeetCode笔记 - 每日一题】375. 猜数字游戏 II (Java、DFS、动态规划)
文章目录 题目描述 思路 && 代码 DFS 动态规划 新系列-用于区分开高频题和每日一题- 题目描述 一眼二分,但是实际上并不是 这题让我想到社团的猜数字游戏-但是给钱是真过分了= ...
- LeetCode 375. 猜数字大小 II(DP)
文章目录 1. 题目 2. 解题 1. 题目 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字. 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小 ...
- Leetcode 375. 猜数字大小 II 解题思路及C++实现
方法一:递归 解题思路: 设置一个dp数组,dp[i][j] 表示从数字 i 到 j ,保证猜中所选数字所需的最小花费. 在数字 i 到 j 之间进行猜测时,我们选择数字 i < k < ...
- LeetCode 375. 猜数字大小 II
题目大意: https://leetcode-cn.com/problems/guess-number-higher-or-lower-ii 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n ...
- leetcode 375. Guess Number Higher or Lower II | 375. 猜数字大小 II(动态规划思路总结)
题目 https://leetcode.com/problems/guess-number-higher-or-lower-ii/ 题解 首先,看了 Related Topics,知道这是个 dp 问 ...
- C++题解-Leecode 375. 猜数字大小 II——Leecode每日一题系列
今天是坚持每日一题打卡的第十七天 题目链接:https://leetcode-cn.com/problems/guess-number-higher-or-lower-ii/submissions/ ...
- Java实现 LeetCode 374 猜数字大小 II
375. 猜数字大小 II 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字. 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了. 然而,当你猜 ...
- LeetCode刷题实战375:猜数字大小 II
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
最新文章
- SWAP使用情况以及muma介绍
- 【微信小程序】java中类和对象的区别
- 7.1.15 单双击事件
- JSP中include指令的乱码问题
- 初识Java-IO流
- 【BZOJ-2325】道馆之战 树链剖分 + 线段树
- 线程的生命周期 和 线程的通讯
- SQL2005创建快照
- Win10 UWP开发系列:开发一个自定义控件——带数字徽章的AppBarButton
- 【Oracle】SCOPE=MEMORY|SPFILE|BOTH
- Linux系统(二)常用命令、进程管理
- android 退出应用没有走ondestory方法,[Android基础论]为何Activity退出之后,系统没有调用onDestroy方法?...
- Visual Studio Code中设置HTML/HTML5模板
- 化工原理 --- 流体流体 --- 习题课及复习
- 支持多种视频格式的html网页视频播放器代码
- 极智装修知识|如何将效果图转化为实景的家? - 分享3
- 虚数和复数更好的理解
- ‘今年找工作太难了,真的是卷到我想哭!’,一个疫情就业季下的毕业生艰辛IT求职道路上的经验分享!见识入社会的不容易!
- [wayfarer]PetShop之业务逻辑层设计
- 如何用python实现输入1~5的数字能够对应打出周一~周五的程序
热门文章
- easypoi的学习笔记
- e5cc温控仪通讯参数设定_应用 | 如何实现S7300与S7200smart通讯?
- keras ImageDataGenerator数据增强
- python不显示warnings
- Pyinstaller打包过程中报错“AttributeError: module 'enum' has no attribute 'IntFlag'”问题解决
- python实现Dijkstra算法求解图中最短路径距离
- 浅谈LockSupport工具类
- Java线程池 面试考点
- NLP先验知识(一)
- seo查询系统php源码,2020版SEO计费系统的源码