方法一:超时

class Solution {
public:
    int GetUglyNumber_Solution(int index) {
        if(index<=0)
            return 0;
        int num=0;
        int number=0;
        while(num!=index)
        {
            while(number%2==0)
                number/=2;
            while(number%3==0)
                number/=3;
            while(number%5==0)
                number/=5;
            if(number==1)
                num++;
            number++;
        }
        return number;
    }
};

方法二:

class Solution {
public:
    int GetUglyNumber_Solution(int index) {
        vector<int> result;
        result.push_back(1);
        int index2=0,index3=0,index5=0;
        int num = 1;
        while(num++<index){
            int num2 = result[index2]*2;
            int num3 = result[index3]*3;
            int num5 = result[index5]*5;
            int minValue = min(min(num2,num3),num5);
            result.push_back(minValue);
            if(minValue==num2)
                index2++;
            if(minValue==num3)
                index3++;
            if(minValue==num5)
                index5++;
        }
        return result[index-1];
    }
};

剑指offer 求第n个丑数相关推荐

  1. 剑指offer——面试题34:丑数

    剑指offer--面试题34:丑数 Solution1: 最容易想到的,也是最不可能AC的 class Solution {public:int GetUglyNumber_Solution(int ...

  2. [剑指offer]面试题34:丑数

    面试题34:丑数 题目:我们把只包含因子2.3和5的数称作丑数(Ugly Number).求按从小到大的顺序的第1500个丑数.例如6.8都是丑数,但14不是,因为它包含因子7.习惯上我们把1当做第一 ...

  3. 20200329——剑指offer 面试题49:丑数

    第一种暴力算法 package question49_urgly_number;/*** @Classname Solution1* @Description TODO* @Date 2020/3/2 ...

  4. 剑指offer 求1+2+3+...+n

    题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 本题考察点是递归和短路: public cla ...

  5. 剑指Offer——求1+2..+n的和

    1.题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 2.代码实现 public int Sum ...

  6. 剑指Offer——求1+2+3+...+n

    题目描述 求1+2+3+-+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 题解 #include <iostream& ...

  7. 剑指offer 把数组排成最小的数 atoi和itoa,pow

    pow(x,y)在#include<math.h>文件中,计算x的y次方. C++引入头文件:#include <stdlib.h> 或者 #include <cstdl ...

  8. 剑指offer之数组中重复的数(Java实现)

    数组中重复的数 NowCoder 题目描述 在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字是重复的, 也不知道每个数字重复几次.请找出数 ...

  9. 剑指offer.01 数组中重复的数(0504刷题自用)

    代码 class Solution {public:int findRepeatNumber(vector<int>& nums) {unordered_map <int,i ...

最新文章

  1. java se环境变量设置_JavaSE中环境变量的配置
  2. 机器学习算法之 K-means、层次聚类,谱聚类
  3. 外设驱动库开发笔记11:SHT3x系列温湿度传感器驱动
  4. 【OPTEE开发】从TA到安全驱动的功能设计
  5. linux 编码转换-转
  6. 进程间通信机制(管道、信号、共享内存/信号量/消息队列)、线程间通信机制(互斥锁、条件变量、posix匿名信号量)...
  7. svn切换项目地址(外网 > 内网)
  8. Java 正则表达式之提取数字
  9. 详解基于深度学习的伪装目标检测
  10. 微信公众号网页版,获取用户code时出现跨域问题的解决办法之一
  11. 关于Navicat和DBeaver的个人使用中问题
  12. 10.2.2.7 -DHCP 和 DNS 服务
  13. 微信小程序---霍兰德职业兴趣测试、心里测评、性格测评
  14. centos7 zabbix短信告警(阿里短信平台)
  15. tomcat启动一闪而逝
  16. 各省份非金融类对外直接投资存量(2003-2020年)
  17. 158A(implementaion)
  18. Intel官方对5月15号曝出的CPU侧信道漏洞“ZombieLoad”的详细技术分析(上)
  19. 预警html效果,预警电子邮件 HTML 模板的语法
  20. python 16进制转换为10进制,10进制转换为16进制。

热门文章

  1. 每日踩坑 2018-11-26 MVC Razor ActionLink 生成的URL中多生成了一个参数 ?length=n
  2. Python 动态载入模块
  3. BZOJ 2742: [HEOI2012]Akai的数学作业
  4. LocalDB 静默安装
  5. C printf()函数转换说明符
  6. 常用的sql server 函数、存储过程、临时表总结
  7. 面试题: 看下面的程序是否有问题 如果有问题请指出 并说明 (关于数据类型-隐性转换的小陷阱)
  8. 【数据结构与算法】之深入解析“预测赢家”的求解思路与算法示例
  9. Python3实现旋转数组的3种算法
  10. Exp2 后门原理与实践 20164309