剑指offer 66题 -- 丑数
class Solution {
public:
int GetUglyNumber_Solution(int index) {
//变量定义区
int subA=0, subB=0, subC=0;
int sub =0;
int* array = new int[index];
array[0] = 1;
if(index <= 0)
return 0;
//分析:数组的后面的每一个元素必定是由数组前面的某一个乘以2,3,或者5得到
// 也就是说, 每个当前的值,都是由前面的某个值的2倍,3倍,5倍 贡献的。
// 至于具体由哪个贡献,需要选择最小的值。
// 这样,可以维护四个下标变量,一个记录数组当前下标值,另外三个分别记录2,3,5的下标值
//每次选取当前值中的2,3,5的倍数中的最小值, 然后需要判断这三个值 是不是大于 当前值,
//如果不大于,那么需要更新这三个值得下标,也就是向前移位,直到大于当前值。
while(sub < index-1)
{
//当2的倍数低于(等于)当前值,需要前移
while( array[subA]*2 <= array[sub])
++subA;
//
while( array[subB]*3 <= array[sub])
++subB;
while( array[subC]*5 <= array[sub])
++subC;
//需要取最小的值作为当前值
array[++sub] = min( array[subA]*2, array[subB]*3, array[subC]*5);
}
int result = array[index-1];
delete [] array;
return result;
}
int min(int n1,int n2,int n3)
{
int minimum=0;
minimum = (n1 < n2) ? n1:n2;
minimum = (minimum < n3) ? minimum:n3;
return minimum;
}
};
转载于:https://www.cnblogs.com/shewell/p/6492480.html
剑指offer 66题 -- 丑数相关推荐
- 剑指Offer 66题 python版本 汇总
牛客网剑指offer 66题汇总 (python) 有部分参考牛客网答案,部分为自己提交结果 1. 二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每 ...
- 【剑指offer 33】丑数
题目描述: 把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. py ...
- 剑指offer(三十三)-丑数(Java版)
描述 把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 示例1 输 ...
- 剑指offer 66题 -- 删除链表中重复的节点
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } }; */ ...
- 【LeetCode 剑指offer刷题】特殊数题3:204 Count Primes
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 204. Count Primes Count the number of prime numbers less t ...
- C++剑指offer刷题笔记
说明:本文是本人刷题后整理的剑指offer1-68题的题解笔记,编程语言为c++. 主要参考刷题笔记网址:leetcode剑指offer 次要参考刷题笔记网址:牛客剑指offer 剑指OFFER 面试 ...
- 剑指offer(60-67题)详解
文章目录 60 把二叉树打印成多行 61 序列化二叉树 62 二叉搜索树第K个节点 63 数据流中的中位数 64 滑动窗口的最大值 65 矩阵中的路径 66 机器人的运动范围 67 剪绳子 欢迎关注个 ...
- 剑指offer(26-33题)详解
文章目录 26 二叉搜索树与双向链表 27 字符串的排列 28 数字中出现次数超过一半的数字(待优化)★ 29 最小的K个数 30 连续子数组最大和 31 整数中1出现的次数 32 把数组排成最小的数 ...
- 剑指offer刷题1-66题-Python3
文章目录 [剑指offer-Python3]1 判断数组中是否含有某整数. [剑指offer-Python3]2 替换字符串中的空格 [剑指offer-Python3]3 链表反转 [剑指offer- ...
- 【剑指Offer】剑指Offer刷题笔记
数组和字符串 剑指 Offer 04. 二维数组中的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个高效的函数,输入这样的一个 ...
最新文章
- java json 返回null,[] Spring4 MVC 返回json格式时候 设置不返回null值属性的有关问题...
- [蓝桥杯][2019年第十届真题c/c++B组]完全二叉树的权值
- es6 next()、throw()、return() 的共同点
- js技巧笔记(不断更新)
- 吴恩达深度学习神经网络基础编程作业Planar data classification with one hidden layer
- 清华源加速 添加在pip install xxx后面即可
- QT自定义QmessageBox对话框
- 淘淘商城第17讲——引用Dubbo服务
- 数独游戏,随机生成只有唯一解的数独表
- STFT原理及MATLAB代码
- ed是什么梗_美国大学EA,ED什么意思?
- 抖音带货赚钱吗?有哪些技巧?
- EBS中应用,职责,数据组,请求组等关系
- 数据科学家为什么还要学藏语?这不科学。首份藏文数字数据集出炉
- python获取工作日_Python的上一个工作日
- 爬虫-使用代理ip,使用session
- Integer i1 = 10;和Integer = new Integer(10);的区别
- python猫狗大战游戏下载_带你少走弯路:强烈推荐的TensorFlow快速入门资料和翻译(可下载)...
- android studio读取本地json,Android Studio读取和创建Json
- 用EXCEL计算距平数据
热门文章
- Atitit 输入法原理与概论ati use
- Atitit MATLAB 图像处理 经典书籍attilax总结
- paip.python错误解决20
- paip. c++ doxygen 文档工具的使用以及跟QT CREATOR的集成
- PAip.英文翻译引擎在项目开发上的作用
- rust: linker-link-exe-not-found
- 让刺猬和狐狸结婚:资本巨鳄BlackRock的金融科技野心
- 洞见 | Peter:Web3.0 的宏观架构
- (转)Matlab映射表数据结构(containers.Map)
- 第六届开源操作系统年度技术会议将在12月16日杭州浙江大学举办