[leetcode] Bulb Switcher

来源:互联网 发布:淘宝特种经营许可 编辑:程序博客网 时间:2024/06/04 19:47
最开始思路:
public class BulbSwitcher {    public static int bulbSwitch(int n) {    boolean [] bulbs=new boolean[n+1];    for(int i=1;i<=n;i++)    {    bulbs[i]=!bulbs[i];    int t=(2*i>n)?(i+1):2*i;    while(t<=n)    {    if(t%i==0)        bulbs[t]=!bulbs[t];        t=t+i;    }    }    int result=0;    for(int i=1;i<n+1;i++)    {    if(bulbs[i]==true)    result++;    }return result;     }

结果超时,找了网上的思路,只有平方数才有奇数个因子,所以直接(int)return Math.sqrt(n)就行。
0 0
原创粉丝点击