326. Power of Three
public class Solution {
public boolean isPowerOfThree(int n) {
if (n < 1) return false;
while (n % 3 == 0) n /= 3;
if (n == 1) return true;
else return false;
}
}
网上看来的不用loop和recursion的
public class Solution {
public boolean isPowerOfThree(int n) {
// 1162261467 is 3^19, 3^20 is bigger than int
return ( n>0 && 1162261467%n==0);
}
}
319. Bulb Switcher
n个灯泡中,只有乘方书最后是亮的,其他最后都灭了。
public class Solution {
public int bulbSwitch(int n) {
return (int)Math.sqrt(n);
}
}
343. Integer Break
数学推导见:http://www.cnblogs.com/zywscq/p/5415303.html
public class Solution {
public int integerBreak(int n) {
if (n == 2) {
return 1;
}
else if (n == 3) {
return 2;
}
else if (n % 3 == 0) {
return (int)Math.pow(3, n / 3);
}
else if (n % 3 == 1) {
return 2 * 2 * (int)Math.pow(3, (n - 4) / 3);
}
else {
return 2 * (int)Math.pow(3, n / 3);
}
}
}