初始时有 n 个灯泡处于关闭状态。第一轮,你将会打开所有灯泡。接下来的第二轮,你将会每两个灯泡关闭一个。

第三轮,你每三个灯泡就切换一个灯泡的开关(即,打开变关闭,关闭变打开)。第 i 轮,你每 i 个灯泡就切换一个灯泡的开关。直到第 n 轮,你只需要切换最后一个灯泡的开关。

找出并返回 n 轮后有多少个亮着的灯泡。

示例 1:

输入:n = 3
输出:1 
解释:
初始时, 灯泡状态 [关闭, 关闭, 关闭].
第一轮后, 灯泡状态 [开启, 开启, 开启].
第二轮后, 灯泡状态 [开启, 关闭, 开启].
第三轮后, 灯泡状态 [开启, 关闭, 关闭].

你应该返回 1,因为只有一个灯泡还亮着。

解题思路:

对于第 k个灯泡,它被切换的次数恰好就是 k的约数个数。如果 k 有偶数个约数,那么最终第 k个灯泡的状态为暗;如果 k 有奇数个约数,那么最终第 k个灯泡的状态为亮。

LeetCode-319.灯泡开关相关推荐

  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 ...

  10. 题意解读+详细题解-Leecode 319. 灯泡开关——Leecode每日一题系列

    今天是坚持每日一题打卡的第二十天 题目链接:https://leetcode-cn.com/problems/bulb-switcher/ 题解汇总:https://zhanglong.blog.cs ...

最新文章

  1. 第15章 进程间通行 15.6 XSI IPC 15.7 消息队列
  2. Linux系统主机之间建立信任关系
  3. Android:主题(Theme)
  4. 从Deepwalk到Node2vec
  5. flask前端显示MySQL数据_flask怎样查询mysql并显示在页面上
  6. python小甲鱼爬虫妹子_【Python学习日记】B站小甲鱼:爬虫
  7. Ubuntu Pycharm启动后卡住无法操作
  8. python爬虫知识大全_Python爬虫入门有哪些基础知识点
  9. 不同网段的远程控制脚本
  10. 没有绝对的技术,只有不停的创新
  11. C#鼠标点击器-没有测试-转自http://hi.baidu.com/syq_ghost/item/2cc253eb538b72e7fb42ba44
  12. python getcwd_Python os.getcwd()方法
  13. 第 7 章 Neutron - 072 - 详解 ML2 Core Plugin(II)
  14. 微信小程序官方示例文档免费下载文档
  15. 深度系统安装移动硬盘启动_教你用优启通U盘PE启动安装系统教程
  16. OCR扫描识别录入之汽车车架号(VIN码)识别查询系统
  17. 最详细的【微信小程序+阿里云Web服务】开发部署指引(三):开通阿里云主机
  18. 【先锋】永洪科技何春涛:不忘初心,砥砺前行
  19. Java项目:小区物业管理系统(java+springboot+thymeleaf+maven+Mysql)
  20. 云效平台性能测试功能:一个基于Jmeter的性能压测平台

热门文章

  1. 无插件使用Eclipse和Resin调试WEB应用(Debug Web App In Ecli...
  2. Altium Designer 18中的System–Design Insight
  3. 多双系统下蓝牙键盘鼠标的共享配对问题解决办法:win + debian + arch~IRK、LTK、ERand、EDIV、CSRK
  4. 华为云服务器怎么备份文件,云服务器系统如何备份文件
  5. ubuntu安装vmware12出现cannot ope dev/vmmon及modprobe vmmon提示密钥无效的解决办法
  6. ESP8266-Arduino编程实例-OPT3001数字环境光传感器
  7. route 不同路由器 windows_如何检查路由器WiFi信号的好坏?
  8. 【CodeWars】Path Finder #2: shortest path
  9. dex2oat导致机器很卡的问题分析
  10. D3D9学习笔记之字体