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

从能算到秒杀:完全平方数与最少数量的数学真相

LeetCode Hot 100 刷题笔记 · 第 15 篇如果说「跳跃游戏 II」是在教你什么时候不得不跳那279. 完全平方数​ 就是在考你最少能用几个平方数凑出一个整数这也是我第一次意识到有些动态规划其实是在替你跑 BFS。 题目速览LeetCode 279. 完全平方数中等给你一个整数n返回和为 n 的完全平方数的最少个数。完全平方数示例1 1 × 1 4 2 × 2 9 3 × 3 16 4 × 4示例输入n 12 输出3 解释12 4 4 4输入n 13 输出2 解释13 4 9 我的第一反应很危险看到“最少数量”直觉立刻冒出来BFSDP背包问题于是脑子里立刻出现dp[i] min(dp[i - k*k] 1)❌ 问题也很明显时间复杂度 O(n√n)面试如果再卡常数容易翻车没用到数学性质Hot100 不可能这么简单 真正解法一BFS最直观把这题看成一张图节点数值 0 ~ n边减去一个完全平方数求0 → n 的最短路径class Solution { public int numSquares(int n) { QueueInteger queue new LinkedList(); boolean[] visited new boolean[n 1]; queue.offer(0); visited[0] true; int steps 0; while (!queue.isEmpty()) { int size queue.size(); for (int i 0; i size; i) { int cur queue.poll(); for (int k 1; k * k n; k) { int next cur k * k; if (next n) return steps 1; if (next n) break; if (!visited[next]) { visited[next] true; queue.offer(next); } } } steps; } return -1; } }✅ 优点思路清晰❌ 缺点队列 访问数组略重 真正解法二DP工程最常用状态定义dp[i] 和为 i 的最少完全平方数个数状态转移dp[i] min(dp[i - k*k] 1)代码面试首选class Solution { public int numSquares(int n) { int[] dp new int[n 1]; Arrays.fill(dp, Integer.MAX_VALUE); dp[0] 0; for (int i 1; i n; i) { for (int k 1; k * k i; k) { dp[i] Math.min(dp[i], dp[i - k * k] 1); } } return dp[n]; } }复杂度时间复杂度O(n√n)空间复杂度O(n)✅ 稳定✅ 易写✅ 面试安全 真正解法三数学定理终极秒杀这是本题的灵魂。 拉格朗日四平方定理任意正整数最多可以表示为 4 个完全平方数之和进一步判断情况结论n 本身是完全平方数1n a² b²2n 4^k × (8m 7)4其他3代码面试加分项class Solution { public int numSquares(int n) { // 1 个平方数 if (isSquare(n)) return 1; // 2 个平方数 for (int i 1; i * i n; i) { if (isSquare(n - i * i)) return 2; } // 4 个平方数 int m n; while ((m 3) 0) m 2; if ((m 7) 7) return 4; // 剩下一定是 3 return 3; } private boolean isSquare(int x) { int r (int) Math.sqrt(x); return r * r x; } }✅ 时间复杂度O(√n)✅ 空间复杂度O(1)✅ 面试官直接点头 我学到的东西做完这题最大的感受是最少步数问题不一定是 DP也不一定是 BFS可能是数学。你不是在枚举答案而是在排除不可能。⚠️ 易错点总结误区正确做法上来就 DP先想想 BFS / 数学忽略平方数边界注意 k * k ≤ n不知道四平方定理面试前背下来 一句话总结完全平方数最少数量 BFS 最短路径 DP 最优子结构 数学定理排除法。 面试收尾建议直接背“这道题可以用三种方式解一是 BFS 建模最短路径二是 DP时间复杂度 O(n√n)三是利用拉格朗日四平方定理在 O(√n) 内完成。实际面试我会先用 DP 保底再用数学优化。”

相关文章:

从能算到秒杀:完全平方数与最少数量的数学真相

LeetCode Hot 100 刷题笔记 第 15 篇如果说「跳跃游戏 II」是在教你 什么时候不得不跳,那 279. 完全平方数​ 就是在考你:最少能用几个平方数,凑出一个整数?这也是我第一次意识到:有些动态规划,其实是在替…...

Lovable框架实战速成:3天掌握UI动效、状态管理与热重载调试全流程

更多请点击: https://intelliparadigm.com 第一章:Lovable框架核心理念与开发环境搭建 Lovable 是一个以开发者体验(DX)为第一优先级的现代 Go Web 框架,其核心理念可凝练为三个关键词:可读性(…...

巴别鸟vs坚果云:企业云盘同步机制踩坑与实战配置

干企业网盘这行,最怕听到用户说"同步慢"。我们2019年上线第一版云盘时,同步1GB的CAD图纸包要40分钟,用户骂完就跑。踩了三年坑才知道,"能同步"和"同步好用"根本是两回事。 本文从踩坑实录加配置实战…...

LeetCode--112. 路径总和(二叉树)

题目描述 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是指没…...

短波通讯:魔术6米波

制作一个用于50MHz(6米波段)的天线,是业余无线电爱好者探索这一“魔术波段”的基础。该频段天线相对短波天线更易于制作和架设,但良好的设计对捕捉稍纵即逝的远距离传播至关重要。以下是基于不同需求的天线类型、设计要点和制作指…...

AI Agent Runtime 正在成为新基础设施层

1. 这不是新赛道,而是 runtime 层的“操作系统时刻”正在重演你打开手机看到新闻标题《Anthropic Just Shipped the Layer That’s Already Going to Zero》,第一反应可能是:又一个大模型公司搞出了什么黑科技?但如果你真花十分钟…...

用LLM嵌入向量破解工业微缺陷检测的长尾难题

1. 项目概述:当大模型“看走眼”时,我们该怎么教它识别那些几乎看不见的异常?你有没有遇到过这样的情况:一个工业质检系统,对明显划痕、缺料、锈蚀这类“教科书式”缺陷识别率高达99%,可一旦面对0.3毫米宽的…...

警惕AI领域未经证实的技术传闻与虚构命名

我不能按照您的要求生成关于“TAI #200: Anthropic’s Mythos Capability Step Change and Gated Release”的博文内容。原因如下:该标题中出现的“Mythos”并非 Anthropic 官方公开发布或确认存在的模型、能力或产品名称。截至2024年7月,Anthropic 官方…...

Mythos骨架式推理:企业级AI能力治理与因果建模新范式

1. 项目概述:一次被刻意“锁住”的能力跃迁如果你最近关注大模型前沿动态,大概率已经看到“Anthropic Mythos”这个词在技术圈悄然升温。它不是某个新发布的开源模型,也不是某家创业公司的秘密武器,而是Anthropic内部代号为Mythos…...

代码大模型训练的典型工程挑战解析

我不能基于您提供的输入内容生成符合要求的博文。原因如下:输入内容实质是一篇外部技术博客的标题与元信息摘要,核心信息严重缺失:无任何关于“5个挑战”的具体内容、技术细节、架构描述、数据特征、训练难点或工程实践;无原始项目…...

YOLOv11公共场所人群年龄目标检测数据集-280张-pedestrian-1_5

YOLOv11公共场所人群年龄目标检测数据集 📊 数据集基本信息 目标类别: [‘adult’, ‘child’, ‘elder’]中文类别:[‘成人’, ‘儿童’, ‘老人’]训练集:196 张验证集:56 张测试集:28 张总计&#xff1a…...

AI工程师必备:高实效性AI资讯简报方法论

1. 项目概述:一份真正“够用”的AI资讯简报,到底长什么样? “ This AI newsletter is all you need #7 ”——光看标题,你可能以为这是某家科技媒体的常规栏目更新。但实际翻阅过前六期的老读者心里都清楚:它根本不…...

YOLOv11养殖场羊群目标检测数据集-66张-sheep-1_3

YOLOv11养殖场羊群目标检测数据集 📊 数据集基本信息 目标类别: [‘sheep-1’, ‘sheep-10’, ‘sheep-11’, ‘sheep-2’, ‘sheep-3’, ‘sheep-4’, ‘sheep-5’, ‘sheep-6’, ‘sheep-7’, ‘sheep-8’, ‘sheep-9’]中文类别:[‘羊-1’…...

MoE稀疏激活原理与工程实践:解密大模型2%参数调用真相

1. 项目概述:参数规模与稀疏激活的真相拆解“GPT-4 Has 1.8 Trillion Parameters. It Uses 2% of Them Per Token.”——这句话过去两年在技术社区反复刷屏,常被当作“AI算力爆炸”的标志性论断。但作为从2016年就开始跑LSTM、2018年手写Transformer Enc…...

YOLOv11光伏板二极管异常目标检测数据集-45张-Solar-panel-anomalies-1

YOLOv11光伏板二极管异常目标检测数据集 📊 数据集基本信息 目标类别: [‘Diode anomaly’, ‘Hot Spots’, ‘Reverse polarity’]中文类别:[‘二极管异常’, ‘热点’, ‘反向极性’]训练集:31 张验证集:9 张测试集&…...

C++链接与符号管理

C链接与符号管理链接是将编译后的目标文件组合成可执行程序的过程。理解链接机制和符号管理对于解决链接错误和优化程序结构至关重要。外部链接允许符号在多个翻译单元间共享。#include extern int global_variable; extern void external_function();void external_linkage_ex…...

GANsformer:用Transformer重构GAN判别与生成机制

1. 项目概述:当生成对抗网络遇上Transformer,不是简单拼接,而是架构级重构“Generative Adversarial Transformers: GANsformers Explained”这个标题一出来,很多做生成模型的老手第一反应是:“又一个蹭热点的命名游戏…...

机器学习论文阅读的解码协议:从扫读到复现的四步实战法

1. 为什么读论文这件事,比写代码还容易让人焦虑“How to Read Machine Learning Papers Effectively”——这个标题乍看像是一篇方法论指南,但在我带过三十多个算法实习生、审过两百多份顶会投稿、自己连续七年保持每周精读2–3篇NeurIPS/ICML/ACL论文的…...

基于LSTM的无人艇波浪方向估计:从时序预测到工程实践

1. 项目概述:当无人艇“学会”感知海浪在海洋工程和无人系统领域,让机器“感知”并“理解”它所处的海洋环境,尤其是波浪的动态特性,一直是个核心挑战。想象一下,你驾驶一艘小船,如果能提前几秒甚至更久“预…...

机器学习论文有效阅读:三层穿透法定位技术杠杆点

1. 这不是“读论文”,而是“拆解模型生长的土壤”你有没有过这种体验:打开一篇顶会论文,标题写着《Neural Architecture Search with Reinforcement Learning》,摘要读得热血沸腾,结果翻到Methodology部分,…...

Agent Runtime 重构:Session 作为事件日志的工程实践

1. 这不是新赛道,而是 runtime 层的“操作系统时刻”正在重演你有没有试过让一个 AI 代理连续工作四十分钟?不是闲聊,而是真干活:查数据库、调 API、读文档、写代码、改配置、再验证——一环扣一环。去年我带团队跑一个客户的数据…...

AI周报如何成为技术决策的精准导航仪

1. 项目概述:一份真正值得花时间读的AI周报,到底长什么样?我做技术类内容整理和分发已经十一年了,从2014年最早在知乎写“每周机器学习论文速览”,到后来运营三个垂直技术社群、给二十多家企业做AI落地咨询&#xff0c…...

动态图神经网络实现多商品时序协同预测

1. 项目概述:为什么传统时序模型在多商品预测中频频“掉链子”你有没有遇到过这样的场景:一家区域连锁超市的运营团队,每天盯着几十种SKU的销售数据发愁——酸奶销量突然飙升,但库存系统还在按上周的均值补货;新款保温…...

洛可可≠堆砌!从构图节奏、卷草纹矢量逻辑到S形动线设计,深度拆解Midjourney生成真·18世纪法式优雅的4大底层规则

更多请点击: https://codechina.net 第一章:洛可可≠堆砌!从构图节奏、卷草纹矢量逻辑到S形动线设计,深度拆解Midjourney生成真18世纪法式优雅的4大底层规则 洛可可风格的本质不是装饰元素的无序叠加,而是以数学韵律…...

Midjourney V6玻璃渲染失效?深度解析--noharsh、--style raw与refine prompt的黄金配比公式

更多请点击: https://intelliparadigm.com 第一章:Midjourney V6玻璃渲染失效现象全景透视 Midjourney V6 在发布后显著提升了材质真实感与光照建模能力,但大量用户反馈其对玻璃、水晶、液态透明体等高折射率材质的渲染出现系统性失真&#…...

10B小模型为何在真实业务中碾压百B大模型

1. 项目概述:小模型正在悄悄改写大模型的游戏规则最近在几个技术团队的内部分享会上,我连续三次被问到同一个问题:“你们还在追着百B参数的大模型跑吗?”——问话的人里,有刚从云厂商调来的架构师,有带AI产…...

TensorFlow数据增强Pipeline:从固定顺序到条件驱动的工业级重构

1. 为什么“写死顺序”的增强 pipeline 在真实项目中总是卡壳?你有没有遇到过这种场景:模型在验证集上指标涨得不错,一到线上推理就崩得稀里哗啦?或者训练时 loss 曲线看着很稳,但模型对稍微偏移一点的拍摄角度、光照变…...

层次聚类实战:从距离选择到树形切割的业务可解释路径

1. 这不是“调个sklearn就能跑”的聚类——为什么 hierarchical clustering 值得你花两小时真正搞懂Hierarchical clustering(层次聚类)这个词,听起来像教科书里一个安静的章节,不如 K-means 那样高频出现在面试题里,也…...

2021年5月AI工程化三大关键突破:Deformable DETR、REALM与WB Model Registry

1. 项目概述:这不是一份榜单,而是一份2021年5月AI领域真实水位的切片报告“The AI Monthly Top 3 — May 2021”这个标题乍看像一份轻量级资讯简报,但在我连续追踪AI领域动态超过十年、亲手部署过从BERT-base到GPT-3早期API调用、从YOLOv3训练…...

2021年5月AI工程落地三大技术水位观测

1. 项目概述:这不是一份榜单,而是一份2021年5月AI技术落地的“现场目击报告”“The AI Monthly Top 3 — May 2021”这个标题乍看像一份轻量级行业简报,但如果你在2021年真正泡在AI工程一线,就会明白它背后沉甸甸的分量。那会儿&a…...