LeetCode--326--3的幂】的更多相关文章

326. 3的幂 给定一个整数,写一个函数来判断它是否是 3 的幂次方. 示例 1: 输入: 27 输出: true 示例 2: 输入: 0 输出: false 示例 3: 输入: 9 输出: true 示例 4: 输入: 45 输出: false 进阶: 你能不使用循环或者递归来完成本题吗? class Solution { public boolean isPowerOfThree(int n) { if (n == 0) { return false; } while (n % 3 ==…
给定一个整数,写一个函数来判断它是否是 3 的幂次方. 示例 1: 输入: 27 输出: true 示例 2: 输入: 0 输出: false 示例 3: 输入: 9 输出: true 示例 4: 输入: 45 输出: false 进阶: 你能不使用循环或者递归来完成本题吗? 思路 循环/3看最后是不是等于1就好了 代码 class Solution(object): def isPowerOfThree(self, n): """ :type n: int :rtype:…
leetcode 326. Power of Three(不用循环或递归) Given an integer, write a function to determine if it is a power of three. Follow up: Could you do it without using any loop / recursion? 题意是判断一个数是否是3的幂,最简单的也最容易想到的办法就是递归判断,或者循环除. 有另一种方法就是,求log以3为底n的对数.类似 如果n=9,则…
LeetCode 231.2的幂 题目: 给定一个整数,编写一个函数来判断它是否是 2 的幂次方. 算法: 若一个数是2的幂次的话定会有n & (n - 1) == 0这个关系成立 所以直接用位运算可做. 这个题目实际上是判断n对应的二进制中时候只有一个1 代码: class Solution { public: bool isPowerOfTwo(int n) { if(n <= 0) { return false; } return ((n & (n - 1)) == 0) ?…
326. Power of ThreeGiven an integer, write a function to determine if it is a power of three. Follow up: Could you do it without using any loop / recursion? 看到这种题目,第一想法就是用递归或者循环来做,但是题目要求了不能用这种方法来做,所以只能另想他法. 假设输入一个数 n,如果 n 是3的幂,那么 3^x = n, 即 x = log10…
题目描述: 给出一个整数,写一个函数来确定这个数是不是3的一个幂. 后续挑战:你能不使用循环或者递归完成本题吗? 题目分析: 既然不使用循环或者递归,那我可要抖机灵了 如果某个数n为3的幂 ,则k=log3N 代码思路: 首先求出int范围最大的3的幂   Max3 如果n为3的幂,则Max3必定能整除n so,直接上代码 解答代码: C++版: class Solution { public: bool isPowerOfThree(int n) { )return false; const…
翻译 给定一个整型数,写一个函数决定它是否是3的幂(翻译可能不太合适-- 跟进: 你能否够不用不论什么循环或递归来完毕. 原文 Given an integer, write a function to determine if it is a power of three. Follow up: Could you do it without using any loop / recursion? 分析 题意我事实上不是满懂,比方说12究竟可不能够呢?还是说仅仅有:3.9.27.81这样的才行…
Problem: Given an integer, write a function to determine if it is a power of three. Could you do it without using any loop / recursion? Summary: 用非循环/递归的方法判断数n是否为3的整数幂. Analysis: 1. 循环:将n逐次除以3,判断是否为3的整数幂. class Solution { public: bool isPowerOfThree(…
判断一个数是否是3的n次幂 这里我用了一点巧,所有的int范围的3的n次幂是int范围最大的3的n次幂数(即3^((int)log3(MAXINT)) =  1162261467)的约数 这种方法是我目前觉得是最好的,不容易出错,其他的方法因为精度问题而很容易错. class Solution { public: bool isPowerOfThree(int n) { ) %n==; else return false; } };…
题目描述: Given an integer, write a function to determine if it is a power of three. Follow up:Could you do it without using any loop / recursion? 解题思路: 对给定的数求以3为底的对数,然后再将结果用于3的次幂,看是否与原来的数相同. 代码如下: public class Solution { public boolean isPowerOfThree(in…
326. Power of Three Given an integer, write a function to determine if it is a power of three. Follow up: Could you do it without using any loop / recursion? 思路:看这个数取以3为底的对数结果是否为整数,C++中只有自然对数函数log()和以10为底的对数函数log10(),所以要借助换底公式.此处用自然对数会有精度问题,用以10为底的对数…
1. 问题 231. Power of Two: 判断一个整数是否是2的n次方,其中n是非负整数 342. Power of Four: 判断一个整数是否是4的n次方,其中n是非负整数 326. Power of Three: 判断一个整数是否是3的n次方,其中n是非负整数 2. 思路 1)2的n次方  不妨列举几个满足条件的例子. If n = 0: 2 ^ n = 1 If n = 1: 2 ^ n = 2 -> 10(二进制表示) If n = 2: 2 ^ n = 4 -> 100(二…
给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false 进阶:你能不使用循环或者递归来完成本题吗? 这题本质上还是一个数学问题,考察的是二进制的一些操作.因为4的幂一定是2的幂,且二进制后,其1的位置一定出现在奇数位. 如 4: 0100  16:10000 所以思路很清晰了.首先判断是不是2的幂,然后再判断其1的位置是不是在奇数位.判断的方法是将这个数与 0x55555555 相…
给定一个整数,编写一个函数来判断它是否是 2 的幂次方. 示例 1: 输入: 1 输出: true 解释: 20 = 1 示例 2: 输入: 16 输出: true 解释: 24 = 16 示这题是考察数学的问题了.用位运算可以快速解决完问题.2的幂的二进制形式永远是 10 100 1000 10000的形式出现的,而通过二进制中与的特性可以得知 10 & 01 = 00,100 & 011 =000 那么就可以通过n与n-1的与运算,便捷得得到答案. 代码如下: class Soluti…
给定一个整数,写一个函数来判断它是否是 3 的幂次方. 示例 1: 输入: 27 输出: true 示例 2: 输入: 0 输出: false 示例 3: 输入: 9 输出: true 示例 4: 输入: 45 输出: false 这题比较简单,循环或者递归可以解决问题.但是也可以使用对数求解的方法.这就输于数学的范畴了.由于是新手一开始没有想到.不过循环的做法时间比较快,也就没有继续深究下去了. 参考博客可以看: https://blog.csdn.net/hy971216/article/d…
Given an integer, write a function to determine if it is a power of three. Follow up:Could you do it without using any loop / recursion? Credits:Special thanks to @dietpepsi for adding this problem and creating all test cases. 给一个整数,写一个函数来判断此数是不是3的次方…
描述 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16输出: true示例 2: 输入: 5输出: false 进阶:你能不使用循环或者递归来完成本题吗? 解析 32位数如果是4的幂,那么只有奇数位有且只有一个1,偶数位都是0.判断条件为: 1. 与0xaaaaaaaa做与运算结果为0.(a=1010) 2. num & (num - 1) == 0,说明只有1位的  1 代码 public boolean isPowerOfFour(…
1. 题目描述 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16输出: true示例 2: 输入: 5输出: false 2. 思路 参考:https://blog.csdn.net/weixin_40163242/article/details/97396427 . 3.代码 class Solution: def isPowerOfFour(self, num: int) -> bool: temp = num & (num -…
342. 4的幂 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false 进阶: 你能不使用循环或者递归来完成本题吗? class Solution { public boolean isPowerOfFour(int num) { int x = 0x55555555; return (num > 0)&&((num&(num-1))==0)&((nu…
231. 2的幂 给定一个整数,编写一个函数来判断它是否是 2 的幂次方. 示例 1: 输入: 1 输出: true 解释: 20 = 1 示例 2: 输入: 16 输出: true 解释: 24 = 16 示例 3: 输入: 218 输出: false PS: 2的次幂和他的上一位数&的结果为0 8的二进制就是1000 7的二进制就是0111 结果========0000 class Solution { public boolean isPowerOfTwo(int n) { if(n <…
位运算 231. 2 的幂 ``` class Solution { public boolean isPowerOfTwo(int n) { int cnt = 0; while (n>0) { if ((n & 1) == 1) cnt++; n >>= 1; } return cnt == 1; } }…
Power of Three Given an integer, write a function to determine if it is a power of three. Follow up: Could you do it without using any loop / recursion? /************************************************************************* > File Name: LeetCode3…
原题: Given an integer, write a function to determine if it is a power of three. Follow up: Could you do it without using any loop / recursion? 这个题目本身没有任何难度,也是easy等级,但是题目要求不能使用循环和迭代,解法如下: import math class Solution(object): def isPowerOfThree(self, n):…
class Solution { public: bool isPowerOfTwo(int n) { ) return false; )) == ; } }; 注: 1) 2的幂函数,其y值大于0: 2) 2的幂函数,若 x < 0, y = (0,1); 2)n&(n-1) == 0 和 (n&(n-1)) == 0 ,逻辑是不一样的.…
这两题我放在一起说是因为思路一模一样,没什么值得研究的.思路都是用对数去判断. /** * @param {number} n * @return {boolean} */ var isPowerOfThree = function(n) { return (Math.log10(n) / Math.log10(3)) % 1 === 0; }; /** * @param {number} num * @return {boolean} */ var isPowerOfFour = functi…
请点击页面左上角 -> Fork me on Github 或直接访问本项目Github地址:LeetCode Solution by Swift    说明:题目中含有$符号则为付费题目. 如:[Swift]LeetCode156.二叉树的上下颠倒 $ Binary Tree Upside Down 请下拉滚动条查看最新 Weekly Contest!!! Swift LeetCode 目录 | Catalog 序        号 题名Title 难度     Difficulty  两数之…
/* * @lc app=leetcode.cn id=326 lang=c * * [326] 3的幂 * * https://leetcode-cn.com/problems/power-of-three/description/ * * algorithms * Easy (42.85%) * Total Accepted: 14.2K * Total Submissions: 33.1K * Testcase Example: '27' * * 给定一个整数,写一个函数来判断它是否是 3…
数学篇 # 题名 刷题 通过率 难度 2 两数相加   29.0% 中等 7 反转整数 C#LeetCode刷题之#7-反转整数(Reverse Integer) 28.6% 简单 8 字符串转整数 (atoi)   15.3% 中等 9 回文数 C#LeetCode刷题之#9-回文数(Palindrome Number) 51.7% 简单 12 整数转罗马数字   53.8% 中等 13 罗马数字转整数 C#LeetCode刷题之#13-罗马数字转整数(Roman to Integer) 53…
leetcode刷题目录 1. 两数之和 2. 两数相加 3. 无重复字符的最长子串 4. 寻找两个有序数组的中位数 5. 最长回文子串 6. Z 字形变换 7. 整数反转 8. 字符串转换整数 (atoi) 9. 回文数 11. 盛最多水的容器 12. 整数转罗马数字 13. 罗马数字转整数 14. 最长公共前缀 15. 三数之和 16. 最接近的三数之和 17. 电话号码的字母组合 19. 删除链表的倒数第N个节点 20. 有效的括号 21. 合并两个有序链表 22. 括号生成 23. 合并…
刷题备忘录,for bug-free leetcode 396. Rotate Function 题意: Given an array of integers A and let n to be its length. Assume Bk to be an array obtained by rotating the array A k positions clock-wise, we define a "rotation function" F on A as follow: F(k…