当前位置: 首页 > article >正文

Python | Leetcode Python题解之第464题我能赢吗

题目:

题解:

class Solution:
    def canIWin(self, maxChoosableInteger: int, desiredTotal: int) -> bool:
        @cache
        def dfs(usedNumbers: int, currentTotal: int) -> bool:
            for i in range(maxChoosableInteger):
                if (usedNumbers >> i) & 1 == 0:
                    if currentTotal + i + 1 >= desiredTotal or not dfs(usedNumbers | (1 << i), currentTotal + i + 1):
                        return True
            return False

        return (1 + maxChoosableInteger) * maxChoosableInteger // 2 >= desiredTotal and dfs(0, 0)

http://www.kler.cn/news/339395.html

相关文章:

  • 【什么是回调机制?一篇文章掌握回调机制及思想】
  • 在虚拟机里试用了几个linux操作系统
  • 网络编程(14)——基于单例模板实现的逻辑层
  • 收银台实现iframe跨页面调用函数的方法——未来之窗行业应用跨平台架构
  • 《系统架构设计师教程(第2版)》第17章-通信系统架构设计理论与实践-07-通信网络构建案例分析
  • 毕设 深度学习语义分割实现弹幕防遮(源码分享)
  • 容器管理工具Docker
  • List子接口
  • C语言 | 第十一章 | static 日期函数 数学函数
  • 活动邀请 | SonarQube×创实信息即将亮相2024 GOPS全球运维大会-上海站,分享代码质量与安全提升策略
  • JavaScript函数基础(通俗易懂篇)
  • 【iOS】计算器仿写
  • 面试(十)
  • 三级等保对postgresql的安全要求配置
  • 《重庆师范大学学报(自然科学版)》
  • Django学习笔记十一:部署程序
  • 快速学习开源 Docker 镜像仓库 Harbor
  • HUAWEI_HCIA_实验指南_Lib1.4_配置通过Telnet登录系统
  • 04_23 种设计模式之《单例模式》
  • pg if条件语句