319. Bulb Switcher

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

Example:

Given n = 3. 

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.
思路:

初始状态,所有的灯泡都是熄灭的,最终的状态应该是他们翻转的次数,如果是奇数,就是亮,如果是偶数就是熄灭。

所以,检查所有数的乘积因子,除了平方之外,都是偶数个,所以只有平方数的灯泡是亮着的。

	public static int bulbSwitch(int n) {
		return (int)(n >= 0 ? Math.sqrt(n) : 0);
	}



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/myfwjy/article/details/52354606
文章标签: LeetCode
个人分类: LeetCode
上一篇JAVA设计模式之单例模式
下一篇378. Kth Smallest Element in a Sorted Matrix
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭