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

news2024/10/9 5:45:20

题目:

题解:

class Solution {
    Map<Integer, Boolean> memo = new HashMap<Integer, Boolean>();

    public boolean canIWin(int maxChoosableInteger, int desiredTotal) {
        if ((1 + maxChoosableInteger) * (maxChoosableInteger) / 2 < desiredTotal) {
            return false;
        }
        return dfs(maxChoosableInteger, 0, desiredTotal, 0);
    }

    public boolean dfs(int maxChoosableInteger, int usedNumbers, int desiredTotal, int currentTotal) {
        if (!memo.containsKey(usedNumbers)) {
            boolean res = false;
            for (int i = 0; i < maxChoosableInteger; i++) {
                if (((usedNumbers >> i) & 1) == 0) {
                    if (i + 1 + currentTotal >= desiredTotal) {
                        res = true;
                        break;
                    }
                    if (!dfs(maxChoosableInteger, usedNumbers | (1 << i), desiredTotal, currentTotal + i + 1)) {
                        res = true;
                        break;
                    }
                }
            }
            memo.put(usedNumbers, res);
        }
        return memo.get(usedNumbers);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2198178.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

github创建仓库并本地使用流程,以及问题src refspec xxx does not match any

1.在 GitHub 上创建一个新仓库 登录你的 GitHub 账户。 点击右上角的 “” 按钮&#xff0c;然后选择 “New repository”。 填写仓库名称&#xff08;如 my-repo&#xff09;。 &#xff08;可选&#xff09;添加描述&#xff0c;选择是否公开或私有仓库。 &#xff08;可选&…

山羊检测系统源码分享

山羊检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision 研究…

探索 Python 高精度计算的奥秘:mpmath 库全解析

文章目录 探索 Python 高精度计算的奥秘&#xff1a;mpmath 库全解析背景&#xff1a;为何选择 mpmath&#xff1f;第二部分&#xff1a;mpmath 是什么&#xff1f;第三部分&#xff1a;如何安装 mpmath&#xff1f;第四部分&#xff1a;mpmath 函数使用示例第五部分&#xff1…

钢筋计:实时监测技术优化施工安全

在现代建筑工程中&#xff0c;钢筋作为结构支撑的关键材料&#xff0c;其状态直接关系到工程的安全性和耐久性。钢筋计作为一种监测工具&#xff0c;能够实时测量钢筋混凝土结构中的钢筋应力&#xff0c;从而为施工安全提供了科学依据。 了解钢筋计的原理及应用是优化施工安全的…

《恋与深空》陷抄袭争议,但不影响它登顶App Store畅销总榜

伴随着《恋与深空》全新混池而来的&#xff0c;是文案疑似抄袭的负面新闻。 9月23日&#xff0c;《恋与深空》上线了第一个国风混池“欲揽旖旎色”&#xff0c;但比玩家的夸奖与反馈更先来的&#xff0c;是男主角之一秦彻的剧情文案抄袭的争议&#xff0c;#恋与深空 抄袭#火速…

Java 表单提交:如何像 PHP 和 Python 一样简单?

在 Java 中&#xff0c;处理表单提交通常与 PHP 或 Python 中类似&#xff0c;但由于 Java 是一种强类型语言&#xff0c;处理表单提交涉及更多配置和设置。然而我将通过一些现代框架&#xff08;如 Spring Boot&#xff09;&#xff0c;Java 可以实现和 PHP、Python 一样简便的…

Study-Oracle-11-ORALCE19C-ADG集群测试

一、用户及数据测试 1、主库创建tes3用户&#xff0c;创建表test_table。备库登录test3用户并查询test_table表中数据。 -- 创建用户 CREATE USER test7 IDENTIFIED BY test7;-- 给予创建会话的权限 GRANT CREATE SESSION TO test7;-- 给予创建表的权限 GRANT CREATE TABLE TO…

前端vue-配置基地址并发送请求

1.首先&#xff0c;在HBuilder的终端下载安装luch-request 2.创建一个目录utils&#xff0c;以及下面的http.js文件&#xff0c;导入安装包&#xff0c;在new一下request&#xff0c;配置接口的基地址 3.在测试文件目录里面进行测试&#xff0c;看看请求能否发送成功&#xff…

自主主权身份在企业中的作用

随着个人数据日益商品化和集中化&#xff0c;个人重新掌控身份的需求从未如此迫切。 与此同时&#xff0c;企业使用的传统身份系统往往会将敏感信息暴露于不必要的风险中&#xff0c;使用户和组织都容易受到数据泄露和隐私侵犯。 但是&#xff0c;对于当前创建这些无尽的身份…

【3dgs】3DGS**(3D Geometry Sensing)与 **NeRF**(Neural Radiance Fields)对比

以下是 3DGS&#xff08;3D Geometry Sensing&#xff09;与 NeRF&#xff08;Neural Radiance Fields&#xff09;对比表格&#xff1a; 更加详细的资料&#xff0c;轻参考&#xff1a; NERF/3DGS 对比维度3DGS (3D Geometry Sensing)NeRF (Neural Radiance Fields)基本原理…

17.数据结构与算法-串,数组与广义表----数组的顺序存储/特殊矩阵的压缩存储

数组的定义 数组的抽象数据类型定义 数组的顺序存储 一维数组 二维数组 三维数组 n维数组 特殊矩阵的压缩存储 对称矩阵 根据该元素前面有多少个元素来判断位置 三角矩阵 对角矩阵 稀疏矩阵 双下标法 缺点&#xff1a;不能随机存取 十字链表法

Spring Boot 进阶-SpringBoot如何整合多数据源场景

对多数据源大家应该不陌生,一般的在单个应用都会存在一个数据库,一个文件存储。这里所说的数据库就是我们描述的数据源。那么多数据源的意思其实通俗来讲就是在一个单体应用中存在两个以上的数据库。这个时候就需要我们对多个数据源进行分别对待进行处理了。 理解多数据源的…

[Algorithm][贪心][整数替换][俄罗斯套娃信封问题]详细讲解

目录 1.整数替换1.题目链接2.算法原理详解1.解法一2.解法二 3.代码实现1.代码一2.代码二 2.俄罗斯套娃信封问题1.题目链接2.算法原理详解1.解法一2.解法二 3.代码实现1.代码一2.代码二 1.整数替换 1.题目链接 整数替换 2.算法原理详解 1.解法一 思路&#xff1a;模拟(递归 …

unity学习-渲染优化

cpu与gpu的区别 cpu&#xff1a;什么都干&#xff0c;主要处理代码的逻辑与传递信息&#xff0c;将需要DrewCall传递进gpu gpu&#xff1a;主要处理渲染方面&#xff0c;实现DrewCall 层级细节LOD技术 我们在unity中一个模型如果距离远了看起来就会模糊&#xff0c;但是它实…

独家揭秘!成为CSDN人工智能优质创作者:我的故事和心得

你好&#xff0c;我是三桥君 晚上我打开消息中心提醒发现&#xff0c;CSDN官方博客居然关注我了&#xff01;我又喜又惊&#xff01;喜是官方博客也认可我了&#xff01;惊是为啥关注我嘞&#xff1f; 突然想到&#xff0c;国庆放假前一天下午&#xff0c;我申请了“创作者认证…

GNURadio 平台实现SSB信号调制解调

目录 一、SSB 信号调制解调原理 二、搭建的GRC流图 一、SSB 信号调制解调原理 1.SSB调制原理 DSB信号虽然相比AM信号节约了功率利用率&#xff0c;但是信号带宽与AM信号一样&#xff0c;是基带信号最大频率的2倍。DSB信号上下边带信号完全一样&#xff0c;传递信息一样&…

Android Studio New里面没有New Flutter Project

跟着Flutter中文网的配置教程&#xff0c;安装好了flutter,在Android studio里面也安装了dart和flutter的插件。重启后还是在FIle->New里面没有显示New Flutter Project。 反复卸载重装dart和flutter插件好几次&#xff0c;依然没有效果。 原来是没有把Android APK Suppor…

收银台实现iframe跨页面调用函数的方法——未来之窗行业应用跨平台架构

一、访问子页面 window.frames["子frame名称"].函数(); window.frames["子frame名称"].未来之窗_人工智能_并行传送阵(t,u,N,); 二、阿雪技术观 拥抱开源与共享&#xff0c;见证科技进步奇迹&#xff0c;畅享人类幸福时光&#xff01; 让我们积极投身于技…

要在 Git Bash 中使用 `tree` 命令,下载并手动安装 `tree`。

0、git bash 安装 git(安装,常用命令,分支操作,gitee,IDEA集成git,IDEA集成gitee,IDEA集成github,远程仓库操作) 1、下载并手动安装 tree 下载 tree.exe 从 tree for Windows 官方站点 下载 tree 的 Windows 可执行文件。tree for Window&#xff1a;https://gnuwin32.source…

ubuntu安装HALCON-23.11-Progress新版本

问题描述 halcon最近升级了&#xff0c;领导希望我将halcon升级成最新版本&#xff0c;由此记录升级过程。之前在我的电脑上安装了20.11-steady版本&#xff0c;在不卸载之前版本的前提下&#xff0c;让两个版本共存。 1.官网下载安装包 官网链接: https://www.mvtec.com/pr…