本文主要是介绍Leetcode--Java--375. 猜数字大小 II,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
一个猜数游戏,游戏规则如下:
从 1 到 n 之间选择一个数字。
你来猜我选了哪个数字。
如果你猜到正确的数字,就会 赢得游戏 。
如果你猜错了,那么我会告诉你,我选的数字比你的 更大或者更小 ,并且你需要继续猜数。
每当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。如果你花光了钱,就会 输掉游戏 。给你一个特定的数字 n ,返回能够 确保你获胜 的最小现金数,不管我选择那个数字 。
样例描述
思路
动态规划 区间dp
- 先进行状态表示,由于不知道目标是什么,要求的是所有可能目标值情况下对应每种猜法的最小值。
- 状态计算,就是枚举可能有哪些猜法,比如[i, j]中可以猜i~j,答案是所有这些猜法的最坏情况下的最小值。(我们是可以决定第一次猜什么的,所以这里并不是找让所有猜法都满足的最大值)
这篇关于Leetcode--Java--375. 猜数字大小 II的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!