leetcode 319. Bulb Switcher | 319. 灯泡开关
题目
https://leetcode.com/problems/bulb-switcher/
题解
本题将 对问题抽象的能力 的考察做到了极致。
思路
怎么理解(int)Math.sqrt(n)
就是答案呢?
将n个开关,从1...n
进行编号(一开始都是处于灯灭的状态);
第1轮,切换的开关为1,2,3...n
第2轮,切换的开关为2,4,6...
第3轮,切换的开关为3,6,9...
…
第n轮,切换的开关为n
反过来看:
第1栈灯,会在第1轮被切换状态
第2盏灯,会在第1,2轮被切换
第3盏灯,会在第1,3轮被切换
第4盏灯,会在第1,2,4轮被切换
第5盏灯,会在第1,5轮被切换
第6盏灯,会在第1,2,3,6轮被切换
第7盏灯,会在第1,7轮被切换
…
第n盏灯,会在第n的因数
(包括1和n)轮被切换
对于输入n,进行n轮切换后,被切换偶数次的灯会处于和最初相同的灯灭状态,被切换奇数次的灯会处于灯亮状态。问题转换为,求1,2,3,...,n
中,有多少个数有奇数个因数。
由于因数都是成对出现的,因此只有完全平方数有奇数个因数
。因此,<=n的数里面,有多少个完全平方数就是答案
。
class Solution {public int bulbSwitch(int n) {return (int) Math.sqrt(n);}
}
leetcode 319. Bulb Switcher | 319. 灯泡开关相关推荐
- 【LeetCode Python实现】 5473. 灯泡开关 IV(中等)
想要看更加舒服的排版.更加准时的推送 关注公众号"不太灵光的程序员" 每日八点有干货推送,微信随时解答你的疑问 文章目录 题目描述 示例 1: 示例 2: 示例 3: 示例 4: ...
- LeetCode 319. Bulb Switcher--C++,java,python 1行解法--数学题
LeetCode 319. Bulb Switcher–C++,java,python 1行解法 LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有 ...
- LeetCode(319):灯泡开关 Bulb Switcher(Java)
2019.8.6 #程序员笔试必备# LeetCode 从零单刷个人笔记整理(持续更新) 每个数i必能分解成任意两个数的乘积(最少会有1*i),因此只有平方数会进行单次开关,因此只需要统计截止n的平方 ...
- 算法 319. 灯泡开关 python
319. 灯泡开关 思路 整数的因数 因数是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因数. class Solution(object):def bulbSwitch( ...
- 【LeetCode】灯泡开关Ⅰ~ Ⅳ(你还是把我关了吧)
[LeetCode]灯泡开关Ⅰ~ Ⅳ
- LeetCode Bulb Switcher(约数个数为奇数)
题意:给出n个灯泡,第一次,将所有灯泡打开,第二次,每隔1个按灯泡开关,第三次,每隔2个按灯泡开关,最后,隔n-1个按小灯泡开关,问最后 有几个灯泡是开着的 思路:经过奇数次变换后灯泡是开着的,所以就 ...
- LeetCode 5353. 灯泡开关 III
5353. 灯泡开关 III 房间中有 n 枚灯泡,编号从 1 到 n,自左向右排成一排.最初,所有的灯都是关着的. 在 k 时刻( k 的取值范围是 0 到 n - 1),我们打开 light[k ...
- C/C++描述 LeetCode周赛 5473. 灯泡开关 IV
5473. 灯泡开关 IV 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博 ...
- 20200308: 生成每种字符都是奇数个的字符串灯泡开关 III(leetcode5352-5353)
生成每种字符都是奇数个的字符串&灯泡开关 III 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 第一题没什么难度,StringBuilder拼接即可 第二题一开始想复杂了,用了Ha ...
最新文章
- Visual Studio 2019更新到16.2.2
- JBoss EAP应用获取运行模式、相关路径及节点信息
- python3精要(24)-函数内省、函数注释、函数属性
- 九、深入Java字符串(上篇)
- java 0x3f_Java源码位操作技巧欣赏
- vue-router嵌套路由,默认子路由设置
- 2019.1.23 01迷宫
- ASP.NET生成静态页面的简单实现
- Sass-学习笔记【进阶篇】
- 笨办法学R编程(4)
- 网络渗透资料大全单——漏洞库篇
- IDM 6.40.11.2 弹窗的解决思路
- 自己的vscode-settings.json配置
- PHP方法,传入的参数前带三个点是什么意思?
- Jenkins 页面不刷新最新修改配置,需要强制刷新才可以,Request Status Code:200 OK (from disk cache)
- *【思路】程序员怎么快速接手一个项目
- io复用相对于多进程、多线程的优势
- lammps模拟中tersoff势设置方法
- 程序员的2023发展方向
- catia二次开发_侧长条花纹定义
热门文章
- 【数学基础】矩阵的特征向量、特征值及其含义
- CodeForces - 1328D Carousel(构造+贪心)
- CodeForces - 1295C Obtain The String(dp预处理+贪心)
- CodeForces - 1066B Heaters(贪心)
- linux mysql tmp_linux下mysql的tmp_table_size改变大小方法
- 目标检测常用数据集格式
- java e.getmessage() null_Java e.getMessage 错误信息为null
- 【数据结构】哈夫曼树与哈夫曼编码
- Docker常用操作命令(二)
- Spring Boot 2.0 迁移指南