logn 时间复杂度 计算整数 末尾0的个数
2015-08-02 13:09
204 查看
折半查找
class Solution { public: int trailingZeroes(int n) { int len = 0; int tmp = n; while(tmp) { tmp /= 10; len++; } int sum_zero = 0; int high = len; int low = 1; // cout<<len<<endl; while(low <= high) { int mid = (high + low) / 2; int factor = int(pow(10, mid-1)); if(n == (n / factor) * factor ){ sum_zero = mid - 1; // n /= factor; low = mid + 1; } else { high = mid - 1; } } // if(low == high && n / int(pow(10, low-1)) == n) sum_zero++; return sum_zero; } };
相关文章推荐
- 数据库范式——通俗易懂
- poj2385 dp
- DFS POJ 1321 棋盘问题
- 写在工作三个月后
- 百度数据挖掘实习工程师一、二现场面试(深圳)
- poj 3685 二分套二分
- 对 iOS 多任务的误解 [多任务原理]
- 阿里巴巴电话面试2面总结_数据挖掘工程师(天猫事业部)
- 百度NLP电面总结(数据挖掘)
- 多线程程序设计学习(12)Thread-soecific storage pattern
- 杭电2078复习时间
- maven 使用myeclipse建立maven项目
- springmvc 上传图片文件和创建图片虚拟路径读取图片
- Spark工作机制-应用执行机制
- Java读取excel工资单发送邮件
- IIS-IIS服务器,发布网站:出错版本问…
- 2.DataGridView 几个基本操作
- 1.数据操作类 SqlDBhelper
- 18.Android 程序退出,关闭所有的a…
- 17.GridView宫格的实现及其显示其…