LeetCode:319. 灯泡开关

class Solution {
public:
    int bulbSwitch(long long n) {
        //本题提可以转化为求解完全平方数的个数
        //只有完全平方数位置上的灯在一次遍历的时候仅仅被拉一次而不是完全平方数的数字N
        //将其拆解为N=a*b那么在a,b次开灯泡的时候,原有的操作就会被抵消
        long long i=1;
        long long count=0;
        if(n==1)
        {
            return 1;
        }
        while(i<n)
        {
            if(i*i<=n)
            {
                count++;
            }
            i++;
        }
        return count;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章