[剑指offer]丑数
2016-04-07 16:01
274 查看
/* 34:> 丑数(因子只含2,3,5 : 6,8是,14不是) 习惯第一个丑数为 1 */ int minNum(int val1, int val2, int val3) { int tmp = val1 < val2 ? val1 : val2; return tmp < val3 ? tmp : val3; } int GetUglyNum(int index) { if (index < 0) return 0; int *pUglyNum = new int[index]; pUglyNum[0] = 1; int nextUglyIndex = 1; int *pMultiply2 = pUglyNum; int *pMultiply3 = pUglyNum; int *pMultiply5 = pUglyNum; while (nextUglyIndex < index) { int _min = minNum(*pMultiply2*2, *pMultiply3*3, *pMultiply5*5); pUglyNum[nextUglyIndex] = _min; while (*pMultiply2 * 2 <= pUglyNum[nextUglyIndex]) pMultiply2++; while (*pMultiply3 * 3 <= pUglyNum[nextUglyIndex]) pMultiply3++; while (*pMultiply5 * 5 <= pUglyNum[nextUglyIndex]) pMultiply5++; ++nextUglyIndex; } int ugly = pUglyNum[nextUglyIndex-1]; delete[] pUglyNum; return ugly; } //void test() //{ // cout<<GetUglyNum(1500)<<endl; //}
相关文章推荐
- 【JQuery UI】面板折叠插件——accordion
- [剑指offer]把数组排列成最小的数
- [剑指offer]连续子数组最大和
- 通过修改manifest文件来解决Vista/Win7/Win8/win10下应用程序兼容性问题
- js类式继承与原型式继承详解
- 工作笔记之复杂字符串的json解析,使用gson
- [剑指offer:30]最小的k个数
- js打印 PrintArea-master
- 【JQuery UI】拖曳排序插件——sortable
- HTML5 浏览器支持(怎么样让低版本浏览器支持html5?)
- 通过路由管理视图间切换 - AngularJS路由解析
- maven项目中编辑的js文件后保存报错
- js,ajax验证编号是否存在,input只能输入数字,form表单验证
- javascript原型继承工作原理和实例详解
- 剑指Offer——把字符串前面的n个字符转移到字符串的尾部
- 单独jsp页面 数字格式化
- javascript 之this关键之及scope
- 前端工程化:云构建
- HTML 模板继承
- jsessionid 如何去掉