
算法
杜达康
生活要有仪式感
展开
-
a+b问题
问题是不用加号 写出a+b的结果 假设a是5 b是6 首先考虑用位用算 这里有几个位运算符号 ^ & >> ^的意思是位异或与 就是把a和b的各个位进行异或运算 同为1或0时为0 否则是1 比如 5用2进制表示是 0101 6用2进制表示是 0110 他俩异或运算 0011 相当于是没有进位的加 &是且 ...原创 2019-04-13 19:34:27 · 330 阅读 · 0 评论 -
统计数字
计算数字 k 在 0 到 n 中的出现的次数,k 可能是 0~9 的一个值。 样例 1: 输入: k = 1, n = 1 输出: 1 解释: 在 [0, 1] 中,我们发现 1 出现了 1 次 (1)。 样例 2: 输入: k = 1, n = 12 输出: 5 解释: 在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12] 中,我们发现 1 出现了 5 ...原创 2019-04-24 22:51:43 · 377 阅读 · 0 评论 -
尾部的零
设计一个算法,计算出n阶乘中尾部零的个数 样例 1: 输入: 11 输出: 2 样例解释: 11! = 39916800, 结尾的0有2个。 样例 2: 输入: 5 输出: 1 样例解释: 5! = 120, 结尾的0有1个。 这道题最简单的方法就是 直接求出n!然后数末尾有几个0 但是这样效率很慢 所以得想一种简单的方法 我们发现52 =10 104=40 只要是5的倍数就能在尾...原创 2019-04-13 21:57:25 · 393 阅读 · 0 评论