摘要: 题目描述: 给一个非负整数 num,反复添加所有的数字,直到结果只有一个数字。 例如: 设定 num = 38,过程就像: 3 + 8 = 11, 1 + 1 = 2。 由于 2 只有1个数字,所以返回它。 进阶:你可以不用任何的循环或者递归算法,在 O(1) 的时间内解决这个问题么? 代码解答: 阅读全文
posted @ 2018-04-30 21:48 二十四桥明月夜33 阅读(332) 评论(0) 推荐(1) 编辑
摘要: 题目描述: 给定一个整数 n,返回 n! 结果尾数中零的数量。 示例1: 示例2: 说明: 你的解法应该为 O(logN) 时间复杂度。 题目分析: 要求末尾有多少个零,则该数应为x*10k 的形式等于x*(2k *5k) 也就是求该数分解质因子后有几个5就行,:如1*2*3*4*5=1*2*3*2 阅读全文
posted @ 2018-04-30 18:35 二十四桥明月夜33 阅读(1746) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给出一个整数,写一个函数来确定这个数是不是3的一个幂。 后续挑战:你能不使用循环或者递归完成本题吗? 题目分析: 既然不使用循环或者递归,那我可要抖机灵了 如果某个数n为3的幂 ,则k=log3N 代码思路: 首先求出int范围最大的3的幂 Max3 如果n为3的幂,则Max3必定能整除 阅读全文
posted @ 2018-04-30 16:22 二十四桥明月夜33 阅读(2035) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。 示例: 题目分析: 判断32位二进制中1的个数,此题利用n&(n-1)性质可解 解答代码: C++版: class Solution { public: int hammingWei 阅读全文
posted @ 2018-04-30 12:31 二十四桥明月夜33 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给定一个整数 (32位有符整数型),请写出一个函数来检验它是否是4的幂。 示例:当 num = 16 时 ,返回 true 。 当 num = 5时,返回 false。 问题进阶:你能不使用循环/递归来解决这个问题吗? 题目分析: 如231题同样思路,还是通过位操作来解决这道 首先判断下 阅读全文
posted @ 2018-04-30 12:17 二十四桥明月夜33 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给定一个整数,写一个函数来判断它是否是2的幂。 题目分析: 判断一个整数是不是2的幂,可根据二进制来分析。2的幂如2,4,8,等有一个特点: 二进制数首位为1,其他位为0,如2为10,4为100 2&(2-1)=0 4&(4-1)=0 即得出结论如果一个数n为2的幂,则n(n-1)=0 阅读全文
posted @ 2018-04-30 10:06 二十四桥明月夜33 阅读(904) 评论(0) 推荐(1) 编辑