剑指offer——51丑数
2024-09-06 05:32:32
题目描述
把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
//使用遍历判断的方法
class Solution01 {
public:
int GetUglyNumber_Solution(int index) {
if (index < )return ;
int cnt = ;
for (int i = ; cnt < index; ++i)
{
if (isChouShu(i))
cnt++;
if (cnt == index)
return i;
}
}
bool isChouShu(int num)
{
while (num % == )
num /= ;
while (num % == )
num /= ;
while (num % == )
num /= ;
return num == ;
}
}; //使用保存数据法
class Solution02 {
public:
int GetUglyNumber_Solution(int index) {
if (index < )return ;
vector<int>v(index, );
v[] = ;
int p2, p3, p5, k = ;
p2 = p3 = p5 = ;
while (k < index)
{
v[k++] = min(min(v[p2] * , v[p3] * ), v[p5] * );
while (v[p2] * <= v[k - ])p2++;
while (v[p3] * <= v[k - ])p3++;
while (v[p5] * <= v[k - ])p5++;
}
return v[index - ];
}
};
最新文章
- ASP.NET MVC 从零开始 - 请求处理
- SharePoint 2013 搜索高级配置(Search Scope)
- Switch语句的case穿透
- ecshop 网站标题不更新或内容不更新
- Angular JS 学习之控制器
- web项目引用Java项目,连接报错error HTTP Status 500 - Servlet execution threw an exception
- C++ 基本知识
- BZOJ 1072: [SCOI2007]排列perm 状态压缩DP
- java中的类实现comparable接口 用于排序
- @@IDENTITY与SCOPE_IDENTITY的用法
- DELPHI TreeView 文件目录树和 设置节点图标 完整
- JS 图片预览功能
- Mongodb操作之查询(循序渐进对比SQL语句)
- mysql的if用法解决同一张数据表里面两个字段是否相等统计数据量。
- A1143. Lowest Common Ancestor
- JavaScript面向对象的三大特性
- PowerDesigner最基础的使用方法入门学习(二)
- eclipse闪退解决(转)
- golang-nsq消息队列应用
- react篇章-React State(状态)-组件都是真正隔离的