class Solution { public: int trailingZeroes(int n) { int count = 0; while (n) { count += n / 5; n /= 5; } return count; } };
编程之美上的P125有讲,如果不看解答,顶多只能想到其中那个解法一,也就是nlogn的复杂度。上述logn解法关键是求1~n内所有数含有5的因子个数,总之真tmd的想不出的巧妙。
class Solution { public: int trailingZeroes(int n) { int count = 0; while (n) { count += n / 5; n /= 5; } return count; } };
编程之美上的P125有讲,如果不看解答,顶多只能想到其中那个解法一,也就是nlogn的复杂度。上述logn解法关键是求1~n内所有数含有5的因子个数,总之真tmd的想不出的巧妙。