题目:

我们正在玩一个猜数游戏,游戏规则如下:

我从 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相关推荐

  1. 375. 猜数字大小 II

    375. 猜数字大小 II 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字. 你来猜我选了哪个数字. 如果你猜到正确的数字,就会 赢得游戏 . 如果你猜错了,那么我会告诉你 ...

  2. leetcode - 375. 猜数字大小 II

    解题思路:这道题目的意思是我告诉你一个n值,然后我会在1到n之间选一个数字,让你来猜我选了哪个数. 我们需要意识到我们在范围 (1, n)中猜数字的时候,需要考虑最坏情况下的代价.也就是说要算每次都猜 ...

  3. 【LeetCode笔记 - 每日一题】375. 猜数字游戏 II (Java、DFS、动态规划)

    文章目录 题目描述 思路 && 代码 DFS 动态规划 新系列-用于区分开高频题和每日一题- 题目描述 一眼二分,但是实际上并不是 这题让我想到社团的猜数字游戏-但是给钱是真过分了= ...

  4. LeetCode 375. 猜数字大小 II(DP)

    文章目录 1. 题目 2. 解题 1. 题目 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字. 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小 ...

  5. Leetcode 375. 猜数字大小 II 解题思路及C++实现

    方法一:递归 解题思路: 设置一个dp数组,dp[i][j] 表示从数字 i 到 j ,保证猜中所选数字所需的最小花费. 在数字 i 到 j 之间进行猜测时,我们选择数字 i < k < ...

  6. LeetCode 375. 猜数字大小 II

    题目大意: https://leetcode-cn.com/problems/guess-number-higher-or-lower-ii 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n ...

  7. leetcode 375. Guess Number Higher or Lower II | 375. 猜数字大小 II(动态规划思路总结)

    题目 https://leetcode.com/problems/guess-number-higher-or-lower-ii/ 题解 首先,看了 Related Topics,知道这是个 dp 问 ...

  8. C++题解-Leecode 375. 猜数字大小 II——Leecode每日一题系列

    今天是坚持每日一题打卡的第十七天 题目链接:https://leetcode-cn.com/problems/guess-number-higher-or-lower-ii/submissions/ ...

  9. Java实现 LeetCode 374 猜数字大小 II

    375. 猜数字大小 II 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字. 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了. 然而,当你猜 ...

  10. ​LeetCode刷题实战375:猜数字大小 II

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

最新文章

  1. SWAP使用情况以及muma介绍
  2. 【微信小程序】java中类和对象的区别
  3. 7.1.15 单双击事件
  4. JSP中include指令的乱码问题
  5. 初识Java-IO流
  6. 【BZOJ-2325】道馆之战 树链剖分 + 线段树
  7. 线程的生命周期 和 线程的通讯
  8. SQL2005创建快照
  9. Win10 UWP开发系列:开发一个自定义控件——带数字徽章的AppBarButton
  10. 【Oracle】SCOPE=MEMORY|SPFILE|BOTH
  11. Linux系统(二)常用命令、进程管理
  12. android 退出应用没有走ondestory方法,[Android基础论]为何Activity退出之后,系统没有调用onDestroy方法?...
  13. Visual Studio Code中设置HTML/HTML5模板
  14. 化工原理 --- 流体流体 --- 习题课及复习
  15. 支持多种视频格式的html网页视频播放器代码
  16. 极智装修知识|如何将效果图转化为实景的家? - 分享3
  17. 虚数和复数更好的理解
  18. ‘今年找工作太难了,真的是卷到我想哭!’,一个疫情就业季下的毕业生艰辛IT求职道路上的经验分享!见识入社会的不容易!
  19. [wayfarer]PetShop之业务逻辑层设计
  20. 如何用python实现输入1~5的数字能够对应打出周一~周五的程序

热门文章

  1. easypoi的学习笔记
  2. e5cc温控仪通讯参数设定_应用 | 如何实现S7300与S7200smart通讯?
  3. keras ImageDataGenerator数据增强
  4. python不显示warnings
  5. Pyinstaller打包过程中报错“AttributeError: module 'enum' has no attribute 'IntFlag'”问题解决
  6. python实现Dijkstra算法求解图中最短路径距离
  7. 浅谈LockSupport工具类
  8. Java线程池 面试考点
  9. NLP先验知识(一)
  10. seo查询系统php源码,2020版SEO计费系统的源码