zoukankan      html  css  js  c++  java
  • [Swift]LeetCode319. 灯泡开关 | Bulb Switcher

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10260629.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    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.

    Example:

    Input: 3
    Output: 1 
    Explanation: 
    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.

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

    示例:

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

    8ms
     1 class Solution {
     2     func bulbSwitch(_ n: Int) -> Int {
     3 
     4         if n == 0 {
     5             return 0
     6         }
     7         var i = 1
     8         while(i+1)*(i+1) <= n {
     9             i += 1;
    10         }
    11         return i;
    12     }
    13 } 

    16ms

    1 class Solution {
    2     func bulbSwitch(_ n: Int) -> Int {
    3         var i = 0
    4         while ( (i + 1) * (i + 1) <= n ) {
    5             i += 1
    6         }
    7         return i
    8     }
    9 }

    20ms

    1 class Solution {
    2     func bulbSwitch(_ n: Int) -> Int {
    3         return Int(sqrt(Double(n)))
    4     }
    5 }
    
    
  • 相关阅读:
    Struts2+Uploadify文件上传使用详解
    jquery常用代码集锦
    springmvc+hibernate入门-揭开神秘的面纱
    Jqgrid入门-Jqgrid格式化数据(九)
    Jqgrid入门-Jqgrid分组的实现(八)
    利用jekyll架设个人博客
    Centos7安装jekyll
    服务器改造个人工作站经验总结
    王爽汇编环境搭建
    由于没有公钥,下列签名无法进行验证
  • 原文地址:https://www.cnblogs.com/strengthen/p/10260629.html
Copyright © 2011-2022 走看看