2019.8.6 #程序员笔试必备# LeetCode 从零单刷个人笔记整理(持续更新)

每个数i必能分解成任意两个数的乘积(最少会有1*i),因此只有平方数会进行单次开关,因此只需要统计截止n的平方数个数即可。


传送门:灯泡开关

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 i-th round, you toggle every i bulb. For the n-th round, you only toggle the last bulb. Find how many bulbs are on after n rounds.

初始时有n个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第i轮,每i个灯泡切换一次开关。 对于第n轮,你只切换最后一个灯泡的开关。 找出n轮后有多少个亮着的灯泡。

示例:
输入: 3
输出: 1解释:
初始时, 灯泡状态 [关闭, 关闭, 关闭].
第一轮后, 灯泡状态 [开启, 开启, 开启].
第二轮后, 灯泡状态 [开启, 关闭, 开启].
第三轮后, 灯泡状态 [开启, 关闭, 关闭]. 你应该返回 1,因为只有一个灯泡还亮着。


/**** 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 i-th round, you toggle every i bulb. For the n-th round, you only toggle the last bulb. Find how many bulbs are on after n rounds.* 初始时有n个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。* 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第i轮,每i个灯泡切换一次开关。* 对于第n轮,你只切换最后一个灯泡的开关。 找出n轮后有多少个亮着的灯泡。**/public class BulbSwitcher {public int bulbSwitch(int n) {//每个数i必能分解成任意两个数的乘积(最少会有1*i),因此只有平方数会进行单次开关//因此只需要统计截止n的平方数个数即可。return (int)Math.sqrt(n);}
}

#Coding一小时,Copying一秒钟。留个言点个赞呗,谢谢你#

LeetCode(319):灯泡开关 Bulb Switcher(Java)相关推荐

  1. LeetCode 319. 灯泡开关(找规律)

    1. 题目 初始时有 n 个灯泡关闭. 第 1 轮,你打开所有的灯泡. 第 2 轮,每两个灯泡你关闭一次. 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭).第 i 轮,每 i 个 ...

  2. LeetCode 319. 灯泡开关

    题目:   初始时有 n 个灯泡处于关闭状态.第一轮,你将会打开所有灯泡.接下来的第二轮,你将会每两个灯泡关闭第二个.   第三轮,你每三个灯泡就切换第三个灯泡的开关(即,打开变关闭,关闭变打开).第 ...

  3. LeetCode 319 灯泡开关[数学] HERODING的LeetCode之路

    解题思路: 这题本质就是数学,需要分析,每个灯泡会被翻转的时机正好是他的约数次遍历的时候,那么我们其实知道,对于每个数的约数都是成对出现的,除非是完全平方数,会有奇数个约数,所以,最后完全平方数的灯泡 ...

  4. Leetcode 319. 灯泡开关 解题思路及C++实现

    方法一:规律 解题思路: class Solution { public:int bulbSwitch(int n) {return sqrt(n);} }; 方法二:动态规划 解题思路: 会超出时间 ...

  5. 算法 319. 灯泡开关 python

    319. 灯泡开关 思路 整数的因数 因数是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因数. class Solution(object):def bulbSwitch( ...

  6. 【LeetCode】灯泡开关Ⅰ~ Ⅳ(你还是把我关了吧)

    [LeetCode]灯泡开关Ⅰ~ Ⅳ

  7. LeetCode 5353. 灯泡开关 III

    5353. 灯泡开关 III 房间中有 n 枚灯泡,编号从 1 到 n,自左向右排成一排.最初,所有的灯都是关着的. 在 k  时刻( k 的取值范围是 0 到 n - 1),我们打开 light[k ...

  8. leetcode 319. Bulb Switcher | 319. 灯泡开关

    题目 https://leetcode.com/problems/bulb-switcher/ 题解 本题将 对问题抽象的能力 的考察做到了极致. 思路 怎么理解(int)Math.sqrt(n)就是 ...

  9. 319. 灯泡开关--Python

    初始时有 n 个灯泡处于关闭状态.第一轮,你将会打开所有灯泡.接下来的第二轮,你将会每两个灯泡关闭一个. 第三轮,你每三个灯泡就切换一个灯泡的开关(即,打开变关闭,关闭变打开).第 i 轮,你每 i ...

最新文章

  1. oracle rman实时备份吗,ORACLE-RMAN自动备份和恢复
  2. 团队作业(五)——旅游行业的手机App
  3. 基于Xml 的IOC 容器-分配路径处理策略
  4. 插入的数据不能时时查询到_数据库原理笔记
  5. 开源Math.NET基础数学类库使用(04)C#解析Matrix Marke数据格式
  6. 《Python CookBook2》 第一章 文本 - 检查字符串中是否包含某字符集合中的字符 简化字符串的translate方法的使用...
  7. junit测试spring_使用Spring JUnit规则进行参数化集成测试
  8. 前端解决跨域问题的8种方案
  9. Django之templates模板
  10. oc 画一个圆弧_用SolidWorks画的塑料衣架,要用到不少让人头疼的曲线
  11. oracle PL/SL编程基础
  12. django url 中的namespace详解
  13. 找出数组的最大公约数
  14. C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改...
  15. Windbg是一款非常好用的经典windows系统蓝屏分析修复工具
  16. 如何将Ant Design Icon本地化
  17. 如何打开高清语音VOLTE
  18. 代码审计之rips之bluecms审计
  19. Win10(家庭版)虚拟机安装
  20. 专科生的逆袭之路,比你想象中还要励志

热门文章

  1. virgo tomcat下载
  2. 移动端按住说话功能实现
  3. Oracle P6软件起源与发展
  4. 华为IPTV解决方案总体介绍
  5. python 图书管理系统
  6. 【论文写作分享】如何进行学术论文写作?为什么会觉得写论文非常难呢?如何寻找论文的创新点?附:实用工具网站分享
  7. 放置江湖html5游戏,放置江湖单机离线版
  8. 【视频】开发工具第11期:鸿蒙智联新交互体验实践分享(一)
  9. Python的几个基础算法
  10. Ptcms精美小说阅读网站源码+带采集规则