本文主要是介绍2020-12-10(231. 2的幂),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
class Solution {public boolean isPowerOfTwo(int n) {Set<Integer> a=new HashSet<>();a.add(1);for(int i=2;i<n+1;i*=2){a.add(i);}if(a.add(n)){return false;}else{return true;}}
}
不出意外的超时了
class Solution {public boolean isPowerOfTwo(int n) {if(n==0){return false;}Set<Integer> a=new HashSet<>();a.add(1);for(int i=2;i<1000;i*=2){a.add(i);}while(n!=1){if(a.contains(n)){return true;}if(n%2!=0){return false;}n/=2;}return true;}
}
只把a作为一个加速的容器,但也进行/2操作,没超时了。但效果还是不好。
class Solution {public boolean isPowerOfTwo(int n) {if(n==0){return false;}while(n!=1){if(n%2!=0){return false;}n/=2;}return true;}
}
最后这个最简单的,反正最快的。。。可以可以。
而官方的为运算就要动脑子想了。我好懒。。。
这篇关于2020-12-10(231. 2的幂)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!