C语言 | Leetcode C语言题解之第464题我能赢吗

embedded/2024/10/9 6:50:15/

题目:

题解

typedef struct HashItem {int key;bool val;UT_hash_handle hh;
} HashItem;bool dfs(int maxChoosableInteger, int usedNumbers, int desiredTotal, int currentTotal, HashItem **memo) {HashItem *pEntry = NULL;HASH_FIND_INT(*memo, &usedNumbers, pEntry);if (NULL == pEntry) {bool 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, memo)) {res = true;break;}}}pEntry = (HashItem *)malloc(sizeof(HashItem));pEntry->key = usedNumbers;pEntry->val = res;HASH_ADD_INT(*memo, key, pEntry);}return pEntry->val;
}bool canIWin(int maxChoosableInteger, int desiredTotal) {HashItem *memo = NULL;if ((1 + maxChoosableInteger) * (maxChoosableInteger) / 2 < desiredTotal) {return false;}return dfs(maxChoosableInteger, 0, desiredTotal, 0, &memo);
}

http://www.ppmy.cn/embedded/124929.html

相关文章

gaussdb hccdp认证模拟题(判断)

1.在事务ACID特性中&#xff0c;原子性指的是事务必须始终保持系统处于一致的状态。(1 分) 错。 2.某IT公司在开发软件时&#xff0c;需要使用GaussDB数据库&#xff0c;因此需要实现软件和数据的链接&#xff0c;而DBeaver是一个通用的数据库管理工具和 SQL 客户端&#xff…

【记录】PPT|PPT 箭头相交怎么跨过

众所周知&#xff0c;在PPT中实现“跨线”效果并非直接可行&#xff0c;这一功能仅存在于Visio中。然而&#xff0c;通过一些巧妙的方法&#xff0c;我们可以在PPT中模拟出类似的效果。怎么在PPT中画交叉但不重叠的线-百度经验中介绍了一种方法&#xff0c;而本文将介绍一种改进…

csapp(第六章 存储器层次结构

6.1 存储技术 6.1.1 随机访问储存器 静态RAM较动态RAM速度更快&#xff0c;更加昂贵&#xff0c;但是大小较小&#xff08;不超过几mb&#xff09;,而动态RAM通常有几百或几千mb 1.静态RAM 将每个位存储在一个双稳态存储器单元 &#xff0c;六晶体管电路 有电…

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

题目&#xff1a; 题解&#xff1a; class Solution {Map<Integer, Boolean> memo new HashMap<Integer, Boolean>();public boolean canIWin(int maxChoosableInteger, int desiredTotal) {if ((1 maxChoosableInteger) * (maxChoosableInteger) / 2 < desi…

Custom C++ and CUDA Extensions - PyTorch

0. Abstract 经历了一波 pybind11 和 CUDA 编程 的学习, 接下来看一看 PyTorch 官方给的 C/CUDA 扩展的教程. 发现极其简单, 就是直接用 setuptools 导出 PyTorch C 版代码的 Python 接口就可以了. 所以, 本博客包含以下内容: LibTorch 初步;C Extension 例子; 1. LibTorch …

shell脚本写代码

用简单的test语句来判断是否闰年 #! /bin/bash read -p "sd " yearif [ $((year%4)) -eq 0 -a $((year%100)) -ne 0 -o $((year%400)) -eq 0 ]thenecho "是润年"elseecho "不是闰年" fi判断一个数是否为偶数 #! /bin/bash read -p "…

MySQL常用指令码

本文精心挑选了一系列MySQL指令码&#xff0c;助你提升资料库效率、解决常见问题&#xff0c;让你的资料储存体验更加高效、可靠。 常用功能指令码 1.汇出整个资料库 mysqldump - u 使用者名称- p – default - character - set latin1 资料库名>汇出的档名(资料库预设编…

ACM(Association for Computing Machinery)简介

ACM&#xff08;Association for Computing Machinery&#xff09;简介 ACM&#xff0c;全称为 Association for Computing Machinery&#xff0c;中文译作“计算机协会”&#xff0c;是全球历史最悠久、规模最大的计算机领域专业组织。成立于1947年&#xff0c;ACM致力于推动…