minimax
context
LeetCode上面遇到一题guess-number-higher-or-lower-ii
其中讲到了minimax这个算法。
首先这个题目的意思是说,要付多少钱(多少代价)才能保证猜对数字,这个代价是最小的,但是能够保证,即使是猜序列中的所有数字,这个代价都是够用的。
这里就出现一个零和游戏的状况,也就是说游戏的结果不是双赢的,你赢10元我就输10元。那么这个游戏,我想要花最少的钱,然而你想从我这拿最多的钱。所以我需要考虑最坏的情况下,找到最小的花费。
1 | class Solution { |
can-i-win
Given an integer maxChoosableInteger and another integer desiredTotal, determine if the first player to move can force a win, assuming both players play optimally.
Game Playing博弈