679. 24 Game 24 点游戏
生活随笔
收集整理的這篇文章主要介紹了
679. 24 Game 24 点游戏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
你有 4 張寫有 1 到 9 數字的牌。你需要判斷是否能通過?*,/,+,-,(,)?的運算得到 24。
示例 1:
輸入: [4, 1, 8, 7] 輸出: True 解釋: (8-4) * (7-1) = 24示例 2:
輸入: [1, 2, 1, 2] 輸出: False注意:
DFS
對于給定的四個數,不同的順序的排列組合與加減乘除排列組合
需要注意的是 如果除數為0 不能進行除法
Code
def judgePoint24(self, nums: List[int]) -> bool:@functools.lru_cache(None)def dfs(array):if len(array) == 1:return abs(array[0] - 24) < 0.1(a, b), array = array[:2], array[2:]ops = (mul, add, sub) if b == 0 else (mul, add, sub, truediv)return any(dfs(array[:i] + (op(a, b),) + array[i:])for op in ops for i in range(len(array) + 1))return any(dfs(item) for item in itertools.permutations(nums, 4))總結
以上是生活随笔為你收集整理的679. 24 Game 24 点游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘做系统详细步骤中文-(U盘怎么做系统
- 下一篇: 《微软飞行模拟》用AI还原15亿建筑,出