Leetcode Bulb Switcher
2024-09-22 14:28:02
There are n bulbs that are initially off. You first turn on all the bulbs. Then, you turn off every second bulb. On the third round, you toggle every third bulb (turning on if it's off or turning off if it's on). For the nth round, you only toggle the last bulb. Find how many bulbs are on after n rounds.
Example:
Given n = 3. At first, the three bulbs are [off, off, off].
After first round, the three bulbs are [on, on, on].
After second round, the three bulbs are [on, off, on].
After third round, the three bulbs are [on, off, off]. So you should return 1, because there is only one bulb is on.
如果直接按照题目给出的思路来解答,会导致超时。
观察后可以看出一下的过程,假设我们观察第9个灯泡,这个灯泡会在第1, 3, 9轮中分别被toggle一次,所以最后会保持点亮。第10个灯泡,会在1,2,5,10轮被toggle四次,最后保持熄灭。
所以如果一个数的因子个数是奇数个,那么这个灯泡最后就是点亮的。反之,这个灯泡最后就是熄灭的。显然之后完全平方数才有奇数个因子,因为因子都是成对儿出现的。
所以这个问题其实就是问,<=n的正整数中有多少个完全平方数。也就是<= sqrt(n) 的最大正整数是哪个?
return int(math.sqrt(n))
最新文章
- poj 2376 Cleaning Shifts
- Qt之C语言类型typedef a[]等
- 谷歌 Uncaught SecurityError: Failed to execute &#39;replaceState&#39; on &#39;History 错误
- 《第一行代码》(三: Android 百度地图 SDK v3.0.0)
- HDU 1848 Fibonacci again and again (斐波那契博弈SG函数)
- c# DataGridView操作
- php多条件组合查询
- redis 记录
- Ubuntu环境变量——系统变量和用户变量
- 【Xilinx-Petalinux学习】-07-OpenCV的软硬件处理速度对比
- 学会数据库读写分离、分表分库——用Mycat,这一篇就够了!
- flex盒模型实现头部尾部固定
- C#判断画的图形是不是三角形
- [译]ASP.NET Core揭秘 - Razor Pages
- scikit-learn中机器学习模型比较(逻辑回归与KNN)
- Python 使用 matplotlib绘制3D图形
- redis 设置分布式锁要避免死锁
- tensorflow变量
- angularJs中的checkboxs
- 力扣(LeetCode) 509. 斐波那契数
热门文章
- 叫板OpenStack:用Docker实现私有云
- sublime配置文件
- 我这样理解js里的this
- CUDA2.3-原理之任意长度的矢量求和与用事件来测量性能
- Expression Blend4经验分享:自适应布局浅析
- [MCSM]随机搜索和EM算法
- Xamarin.Android 反复报 Please Download android_m2repository_rxx.zip 的解决办法
- [译]用AngularJS构建大型ASP.NET单页应用(三)
- DLL丢失修复
- viewSub惰性装载器