2015.1.23 18:46
Given an integer n, return the number of trailing zeroes in n!.
Note: Your solution should be in logarithmic time complexity.
Solution:
The number of zeros is simply the number of 5s. That's it.
Time complexity is O(log(n)), space complexity is O(1).
Accepted code:
1 // 1AC, log5(N) 2 class Solution { 3 public: 4 int trailingZeroes(int n) { 5 int sum; 6 7 sum = 0; 8 while (n > 0) { 9 sum += n / 5; 10 n /= 5; 11 } 12 13 return sum; 14 } 15 };