今天继续刷LeetCode,第326题,判断一个数是否是3的阶乘。 分析: 方法一:递归,不断对n进行除3操作,判断结果是否为1; 方法二:循环, 问题: 1、递归需要利用栈; 附上C++代码: class Solution { public: bool isPowerOfThree(int n) { if(n<=0) return false; if(n==1) return true; if(n%3==0) ...
doubleres; res =log10(n)/log10(3);if(res- (int)res ==0)returntrue;elsereturnfalse; 三种解法的代码在 leetcode 网站的运行时间如下图: - 1、方法一 - 2、方法二 - 3、方法三 可见,第二种最好,第一种次之,第三种最差。 类似的题目还有 power of two, power of four,使用上述三种方法略加修...
如果n是3的幂次方,那么将两数取对数后再做除法,得到的是一个以幂次方为整数位,以0位小数位的double类型数,那么对其取整再和自身做减法,那么它的绝对值肯定是无限接近于0的。 publicbooleanisPowerOfThree5(int n) { double lg =Math.log(n)/Math.log(3);returnMath.abs(lg-Math.round(lg)) <=0.0000000...
[LeetCode] Power of Two Given an integer, write a function to determine if it is a power of two. 这道题没啥难度。主要是搞清楚怎么来判断一个数是不是power of two。 最简单的方法就是一直除以2最后等于1。如果不能,那么都是false。 ......
[leetcode] 326. Power of Three Description Given an integer, write a function to determine if it is a power of three. Example 1: Input: 27 1. Output: true 1. Example 2: Input: 0 1. Output: false 1. Example 3: Input: 9
2)Power of 3. 是否为3的幂指数 Loading...leetcode.com/problems/power-of-three/ 2.1)采用循环 class Solution: def isPowerOfThree(self, n: int) -> bool: if not n: return False while n: if n==1: return True if n%3: return False n //=3 return True ...
这道题让我们判断一个数是不是3的次方数,在LeetCode中,有一道类似的题目Power of Two,那道题有个非常简单的方法,由于2的次方数实在太有特点,最高位为1,其他位均为0,所以特别容易,而3的次方数没有显著的特点,最直接的方法就是不停地除以3,看最后的余数是否为1,要注意考虑输入是负数和0的情况,参见代码如下...
【leetcode】3的幂 bool isPowerOfThree(int n){ // for (int i=0; pow(3,i)<=n; i++) // { // if (pow(3,i) == n) return true; // } // return false; return n > 0 && 1162261467 % n == 0; } 1. 2. 3. 4....
326 Power of Three // #326 3的幂 描述:判断一个数是否是3的幂。 //#326Description: Power of Three | LeetCode OJ 解法1:循环。 // Solution 1: Loop. 代码1 //Code 1 解法2:对数。 // Solution 2: Logarithm. 代码2 //Code 2
如果n是3的幂,那么n % 3 == 0 代码 代码语言:javascript 代码运行次数:0 运行 AI代码解释 publicclassSolution{publicboolIsPowerOfThree(int n){// 1162261467 是小于 Integer.MAX_VALUE 的3的最大幂数returnn>0&&(1162261467%n==0);}} 342. Power of Four ...