网上药店
您现在的位置: 左耳 >> 左耳剧情 >> 正文 >> 正文

左耳听风ARTS第二十二周

来源:左耳 时间:2020/8/23
治疗白癜风最好的医院 http://www.xftobacco.com/

每周完成一个ARTS(Algorithm,Review,Tips,Sha):至少做一道leetcode算法题,阅读并点评至少一篇英文技术文章,学习至少一个技术技巧,分享一篇有观点和思考的技术文章.

Algorithm:

给定一个整数n,返回n!结果尾数中零的数量。示例1:输入:3输出:0解释:3!=6,尾数中没有零。示例2:输入:5输出:1解释:5!=,尾数中有1个零.说明:你算法的时间复杂度应为O(logn)。---------------------------------题目问阶乘的结果有几个零,如果用笨方法求出阶乘然后再算0的个数会超出时间限制。然后我们观察一下,5的阶乘结果是,零的个数为1:5!=5*4*3*2*1=末尾唯一的零来自于2*5。很显然,如果需要产生零,阶乘中的数需要包含2和5这两个因子。例如:4*10=40也会产生零,因为4*10=(2*2)*(2*5)。因此,我们只要数一数组成阶乘的数中共有多少对2和5的组合即可。又因为5的个数一定比2少,问题简化为计算5的个数就可以了。转自作者:jalan链接:

转载请注明:http://www.quwenlai.com/zejq/17685.html

  • 上一篇文章:
  • 下一篇文章: 没有了