小白水平理解面试经典题目LeetCode 1025 Divisor Game【动态规划】
1025 除数游戏
小艾 和 小鲍 轮流玩游戏,小艾首先开始。
最初,黑板上有一个数字 n 。在每个玩家的回合中,该玩家做出的动作包括:
- 选择任意 x,使 0 < x < n 和 n % x == 0 。
- 将黑板上的数字 n 替换为 n - x 。
此外,如果玩家无法采取行动,他们就会输掉比赛。
当且仅当 小艾赢得游戏时返回 true ,假设两个玩家都发挥最佳。
例子

在大学某个自习的下午,小白坐在教室看到这道题。想想现年景一过,没有什么理由再不学习了。真是若对黄花孤负酒,怕黄花,也笑人岑寂。
这时候黑长直女神过来问:小白,你看到1025这道题了吗,怎么感觉看着很简单,但是理解起来很麻烦啊,这道题你有什么思路呢?
小白内心镇定:这机会不就来了吗,小美,《一起摇太阳》有机会一起去看看吧?

哦,不是,题目描述意思说的简单一些。
这种题目我们首先把他进行下条件梳理,
从这个问题来看,小艾可以从 1 to N 中选择一个数字,并且她必须选择优化她的获胜。同样,小鲍也会努力为自己赢得胜利。
考虑如果数字是 2 ,小艾以 1 开头并且她赢了
对于 3 ,小艾选择 1 ,小鲍再次选择 1 ,小艾输了
咱们拿4举个例子
4 = 小艾 -> (4 - 1) - 剩下 3 给 小鲍
3 = 小鲍 -> (3 -1) - 剩下 2 给 小艾
2 = 小艾 -> (2 - 1) - 剩下 1 给 小鲍
现在鲍勃无法选择任何东西,他输了
像这样,如果我们尝试每个数字,我们将得到一个模式,如果我们知道 N 是奇数,那么 小艾输了,如果 N 是偶数小艾赢了。
解决这个问题的简单方法是返回 N % 2 == 0
小白:没问题,谁叫为了“真爱”呢。
真正面试环节
面试官:咱们今天来个轻松的,你可以解答这道”除数游戏“的题目吗,来看看你对简单题目的理解。
小白:嘿嘿,这不巧了么这不是。

public boolean divisorGame(int N) {return N % 2 == 0;}
小明:OK,完事儿,等着面试官来表扬自己吧。他肯定会说:小子,你是个好手!工位都给你准备好了,工资你说了算。
面试官:矮油,不错啊,不过你是不是完成的太快了,这么一行就像糊弄我。是否还有其他办法呢。

小明OS:今年这个找工市场,人言洛阳花似锦,偏我来时不逢春。。。不是,谁让你这出题正好有简单方法呢!
public static boolean divisorGame(int N) {// dp数组,dp[i]表示N=i时,小艾是否能获胜boolean[] dp = new boolean[N + 1];for (int i = 2; i <= N; i++) {// 对于每个N,遍历所有可能的选择for (int x = 1; x < i; x++) {if (i % x == 0 && !dp[i - x]) {dp[i] = true;break;}}}return dp[N];}
小白:您好,面试官,这回可以了吧,我终于有钱请小美看电影了!

============================================================================
🍀🍀🍀🍀🍀🍀更多算法题解请看 面试数据结构与算法总结分类+leetcode目录【基础版】
编码道路漫漫,只要先看脚下的路,徐徐前进即可。
相关文章:
小白水平理解面试经典题目LeetCode 1025 Divisor Game【动态规划】
1025 除数游戏 小艾 和 小鲍 轮流玩游戏,小艾首先开始。 最初,黑板上有一个数字 n 。在每个玩家的回合中,该玩家做出的动作包括: 选择任意 x,使 0 < x < n 和 n % x 0 。将黑板上的数字 n 替换为 n - x 。 此…...
基于单片机的智能宠物喂食器设计
摘要:阐述智能宠物喂食器的实现方式,以STC89C52单片机为核心芯片,控制LCD的显示、语音芯片的启动和步进电机的运行。通过按键设置预设时间,当时间到达预设时间时,语音电路发出提示,步进电机工作,提供食物。此系统解决了主人由于各种原因不在家,使得宠物不能按时吃饭的问…...
探索单片机应用领域:从智能家居到工业自动化
单片机作为一种微型计算机芯片,在智能家居和工业自动化领域有着广泛的应用。以下将从智能家居和工业自动化两个方面分点论述单片机的应用。 智能家居领域: 1. 智能灯光控制: 单片机可以用于控制智能灯光系统,实现灯光的远程控制…...
Nginx介绍和使用
Nginx是一个高性能的HTTP和反向代理web服务器,其使用方法包括安装、配置以及与其他软件的配合使用。 Nginx被广泛认为是一个轻量级、占用资源少、并发处理能力强大的web服务器软件。它不仅可以作为HTTP服务器提供静态内容服务,还可以作为反向代理服务器…...
异步编程——CompletableFuture用法详解
文章目录 前言1. Future 线程池2. 什么是CompletableFuture 前言 我们异步执行一个任务时,需要用线程池Executor去创建,有两种方式: 如果不需要有返回值, 任务继承Thread类或实现Runnable接口;如果需要有返回值&…...
Linux常用命令(不断更新)
cd 切换目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 pwd 显示工作路径 ls -l 显示文件和目录的详细信息 ls -a 列出全部文件 ls -R 连同子目录的内容一起列出 ls -lh 显示权限 cp 复制 mv 移动 rm 删除 cat 查看文件内容 find 文件搜索 文件权限 …...
C++ 浮点数二分 数的三次方根
给定一个浮点数 n ,求它的三次方根。 输入格式 共一行,包含一个浮点数 n 。 输出格式 共一行,包含一个浮点数,表示问题的解。 注意,结果保留 6 位小数。 数据范围 −10000≤n≤10000 输入样例: 1000.00…...
辽宁博学优晨教育科技有限公司视频剪辑培训专业之选
随着数字时代的到来,视频剪辑技术已成为各行各业不可或缺的一项技能。为了满足市场需求,辽宁博学优晨教育科技有限公司(以下简称“博学优晨”)推出了专业的视频剪辑培训课程,旨在为广大学员提供系统、高效的学习机会。…...
数据转换成json格式
// List<SpinfokuZD> xm GetmoreSpinfoku(id); // return JsonConvert.SerializeObject(xm); //将数据转换成json格式 return JsonConvert.SerializeObject(ds); //将数据转换成json格式 spcgjlZD spselld JsonConvert.Deseriali…...
css3的var()函数
css3的var()函数 变量要以两个连字符--(横杆)(减号)为开头 变量可以在:root{}中定义, :root可以在css中创建全局样式变量。通过 :root本身写的样式,相当于 html,但优先级比后者高。 在CSS3中,var()函数是一个用于插入CSS自定义属性ÿ…...
武汉灰京文化展望未来游戏产业,科技创新引领全面升级的游戏体验
随着科技的迅速发展,未来游戏产业的发展将迎来一个全新的纪元。科技创新将引领游戏体验的全面升级,让玩家不再仅仅是通过屏幕与游戏互动,而是能够亲身感受到游戏世界的存在。这种全新的游戏体验将推动游戏产业不断突破创新,吸引更…...
SOLIDWORKS Visualize 界面介绍
现在有越来越多的朋友在工作中选择使用SOLIDWORKS Visualize正版软件,这真是太棒了!这次的主题是小索带大家了解SOLIDWORKS Visualize界面,让更多的朋友快速的熟悉SOLIDWORKS Visualize界面。 【菜单栏】位于界面的顶端,菜单栏包含多个下拉菜…...
负载均衡下webshell连接nginx解析漏洞、sql注入第一关
首先搭建环境找到php较低的版本改一下账号密码输入?id1 正常 输入?id1 报错 .0 输入?id1-- 正常 判断是字符型注入,闭合方式是 id是1后台看是数据表里第一行 查询id1出错前端打印出了报错信息语法错误这里是找到了库名,接下来是找表名这个方法是…...
养老项目技术架构和工程结构
数据层:MySQL、Redis 服务层:SpringBoot、SpringMVC、SpringCache结合Redis的缓存、定时任务XXL-JOB、和swagger配合使用生成接口文档的Knife4j、Lombok、双向通信使用的WebSocket以及Spring Security 接入层使用的nginx——反向代理、负载均衡 前端使…...
免费白嫖一个互联网创业者交流论坛,真香!
先说最重要的 当前小报童39.9,2.23之后会涨价到99.9 现在扫码购买,然后凭借截图找我全款报销,全款报销! 扫码报销,备注“烽狂创客” 下面来看下这个专栏的内容 专栏作者是谁 挽歌,20岁,985大…...
Zilliz Cloud 再发新版本:性能提升超 10 倍,AI 应用开发流程再简化!
Zilliz Cloud 再发新版本! 本次新版本的主要内容包括:大幅提升的向量搜索性能(性能提升 10 倍以上)、企业级数据安全和无缝数据集成。新版本发布后,用户无需自定义代码,便可快速顺畅地完成非结构化数据处理…...
基于SpringBoot的高校竞赛管理系统
基于SpringBoot的高校竞赛管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 个人中心 管理员界面 老师界面 摘要 高校竞赛管理系统是为了有效管理学校…...
【国产MCU】-CH32V307-通用定时器(GPTM)-编码模式与旋转编码器驱动
通用定时器(GPTM)-编码模式与旋转编码器驱动 文章目录 通用定时器(GPTM)-编码模式与旋转编码器驱动1、通用定时器编码模式介绍2、旋转编码器介绍3、驱动API介绍4、编码模式使用示例本文将详细介绍如何使用CH32V307通用定时器的编码模式。 1、通用定时器编码模式介绍 编码器…...
国外高防服务器需要注意哪些方面
随着互联网的快速发展,网络安全问题日益突出,高防服务器逐渐成为企业和个人用户的首选。然而,在选择和使用国外高防服务器时,需要注意以下几个方面,以确保安全和稳定。 一、防御能力 首先,需要考虑国外高防…...
MySQL系列之索引入门(下)
前言 通过上文,我想各位盆友已熟悉MySQL的索引分类及其含义,那么如何合理的使用呢? 请继续围观此文,一探究竟! 一、创建索引 首先,我们一起学习索引是如何创建的,又有哪些方式。 1. create t…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...
云原生安全实战:API网关Envoy的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...
AT模式下的全局锁冲突如何解决?
一、全局锁冲突解决方案 1. 业务层重试机制(推荐方案) Service public class OrderService {GlobalTransactionalRetryable(maxAttempts 3, backoff Backoff(delay 100))public void createOrder(OrderDTO order) {// 库存扣减(自动加全…...
21-Oracle 23 ai-Automatic SQL Plan Management(SPM)
小伙伴们,有没有迁移数据库完毕后或是突然某一天在同一个实例上同样的SQL, 性能不一样了、业务反馈卡顿、业务超时等各种匪夷所思的现状。 于是SPM定位开始,OCM考试中SPM必考。 其他的AWR、ASH、SQLHC、SQLT、SQL profile等换作下一个话题…...
[特殊字符] Spring Boot底层原理深度解析与高级面试题精析
一、Spring Boot底层原理详解 Spring Boot的核心设计哲学是约定优于配置和自动装配,通过简化传统Spring应用的初始化和配置流程,显著提升开发效率。其底层原理可拆解为以下核心机制: 自动装配(Auto-Configuration) 核…...
