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

开关灯泡靠模拟?不懂这个规律,你写的代码永远是O(n²)

“开关灯泡靠模拟?不懂这个规律,你写的代码永远是O(n²)”

你是不是也写过这样的代码:
一轮一轮去翻灯泡,直到第 n 轮结束?
结果 n=10 万的时候,程序直接“人间蒸发”。

更扎心的是——
这个题,其实根本不需要模拟。

👉很多人卡在代码,其实是卡在认知。


一、引子:你以为是模拟题,其实是数学题

“灯泡开关(Bulb Switcher)”这个题,看起来特别直观:

  • 有 n 个灯泡,初始全关
  • 第1轮:全部打开
  • 第2轮:每2个翻转一次
  • 第3轮:每3个翻转一次
  • ……

问:最后有多少灯是亮的?

大多数人的第一反应是:

👉 模拟!

但很遗憾,这条路从一开始就是错的。


二、本质拆解:谁会被翻转奇数次?

我们换个角度:

👉 每个灯泡被翻转多少次?

比如第 k 个灯泡:

它会在这些轮被操作:

  • 第1轮(1是它的因子)
  • 第k轮(k是它的因子)
  • 所有能整除 k 的数

也就是说:

👉第 k 个灯泡,被翻转的次数 = k 的因子个数


http://www.jsqmd.com/news/701831/

相关文章:

  • AI短视频生成引擎:从文本到视频的自动化创作架构与实践
  • 01:初识YOLO:目标检测的进化之路
  • 任务调度与重试平台开源完整流程(从 0 到持续维护)==写一个开源项目全流程
  • 仓颉(Cangjie)编程语言:从汉字造字始祖到全场景智能应用开发语言
  • 移动端UI自动化测试框架Maestro:YAML驱动,跨平台高效测试实践
  • 从零手写C++ MCP网关:3周上线、支撑日均47亿请求,我们删掉了所有STL容器,换上了定制化内存池
  • 快狐KIHU|49寸横屏自助触摸终端G+G电容屏国产鸿蒙系统银行网点查询
  • AltSnap:5个技巧彻底改变Windows窗口管理体验
  • 机器学习分类模型决策边界可视化实战指南
  • 深度学习超参数网格搜索实战指南
  • Qwen3-4B-Instruct-2507新手必看:从部署到生成第一段文本
  • Qwen2.5-0.5B怎么选GPU?算力匹配建议与部署参数详解
  • StarRocks MCP Server:AI Agent安全访问数据仓库的工程实践
  • 零门槛上手Llama-3.2-3B:Ollama部署教程,3步完成环境搭建
  • 卡拉罗冲刺港股:年营收8.7亿,利润1.2亿 派息1亿
  • 使用Docker快速部署FRCRN开发测试环境
  • Pixel Couplet Gen 助力乡村振兴:为乡村民宿设计特色数字年画
  • BitNet-b1.58-2B-4T-GGUF 前端开发实战:JavaScript交互应用构建
  • Java语言及重要贡献人物
  • Qianfan-OCR数据结构优化:提升大批量图片处理效率的编程技巧
  • 嵌入式C如何驯服千层参数?:在256KB RAM MCU上跑通TinyLlama的5步内存压缩法
  • 程序员的心理学学习笔记 - NPD 人格
  • 从零构建轻量级AI智能体:微架构设计与运维自动化实践
  • Budibase开源AI代理平台实战:从部署到构建自动化运营中枢
  • RainbowGPT:基于开源大模型的中文优化与微调实战指南
  • DDrawCompat终极指南:让Windows 11上的经典游戏重获新生的完整解决方案
  • Qwen3-4B-Instruct效果展示:整本PDF/百万行代码精准问答案例集
  • 抖音内容批量下载终极指南:免费开源工具完全解析
  • 2026年Q2妇科洗液OEM贴牌权威服务商排行盘点 - 优质品牌商家
  • Parlant对话控制层:构建可靠AI智能体的动态上下文工程实践