leetcode 319

题意:n个灯泡,第一轮全部打开;第二轮每隔2k(k=0,1,...n)个(偶数2,4,6,8.....)关闭;第三轮3k(3,6,9,12,....)个打开;... 以此类推

所以当操作为奇数个时,灯是开的。而只有平方数的乘积个数为奇数。可以用sqrt(n)得到有1-n中多少个完全平方数。

class Solution {
public:
    int bulbSwitch(int n) {
        return sqrt(n);
    }
};

猜你喜欢

转载自www.cnblogs.com/Bella2017/p/10872774.html