标签:状态 switch problems pre logs 应该 表示 tco 初始
初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡切换一次开关。 第 3 轮,每三个灯泡切换一次开关(如果关闭,则打开,如果打开则关闭)。对于第 i 轮,你每 i 个灯泡切换一次开关。 对于第 n 轮,你只切换最后一个灯泡的开关。 找出 n 轮后有多少个亮着的灯泡。
示例:
给定 n = 3。状态off表示灯泡关闭,on表示开启。
初始时, 灯泡状态 [off, off, off].
第一轮后, 灯泡状态 [on, on, on].
第二轮后, 灯泡状态 [on, off, on].
第三轮后, 灯泡状态 [on, off, off].
你应该返回1,因为只有一个灯泡还亮着。
详见:https://leetcode.com/problems/bulb-switcher/description/
C++:
class Solution { public: int bulbSwitch(int n) { int res=1; while(res*res<=n) { ++res; } return res-1; } };
参考:http://www.cnblogs.com/grandyang/p/5100098.html
标签:状态 switch problems pre logs 应该 表示 tco 初始
原文地址:https://www.cnblogs.com/xidian2014/p/8832202.html