剑指offer面试题34:丑数
2016-07-25 14:45
549 查看
#include "iostream" using namespace std; int Min(int num1,int num2,int num3) { int min = num1 < num2 ? num1 : num2; min = min < num3 ? min : num3; return min; } int GetUglyNumber(int index) { if (index <=0) return 0; int *uglyNumber = new int[index]; uglyNumber[0] = 1; int nextUgly = 1; int *mutily2 = uglyNumber; int *mutily3 = uglyNumber; int *mutily5 = uglyNumber; int min = 1; while (nextUgly<index) { min = Min(*mutily2 * 2, *mutily3 * 3, *mutily5 * 5); uglyNumber[nextUgly] = min; while (*mutily2 * 2 <= uglyNumber[nextUgly]) mutily2++; while (*mutily3 * 3 <= uglyNumber[nextUgly]) mutily3++; while (*mutily5 * 5 <= uglyNumber[nextUgly]) mutily5++; nextUgly++; } int ugly = uglyNumber[nextUgly-1]; delete[] uglyNumber; return ugly; } int main() { cout << GetUglyNumber(1500); system("pause"); return 0; }
相关文章推荐
- 一个关于if else容易迷惑的问题
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- 一道sql面试题附答案
- C# 超高面试题收集整理
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例