当前位置: 首页 > news >正文

LeetCode OJ 之 Ugly Number II (丑数-二)

题目:

Write a program to find the n-th ugly number.

Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 is the sequence of the first 10 ugly numbers.

Note that 1 is typically treated as an ugly number.

思路:

參考:http://blog.csdn.net/u012243115/article/details/45222269。

代码:

class Solution {
public:
    int nthUglyNumber(int n) 
    {
        if(n <= 0)
            return 0;
        int *uglyNum = new int[n]();
        int *uglyNum2 = uglyNum ;
        int *uglyNum3 = uglyNum ;
        int *uglyNum5 = uglyNum ;
        uglyNum[0] = 1;
        int count = 1;
        while(count < n)
        {
            int curUgly = min(min(*uglyNum2 * 2 , *uglyNum3 * 3) , *uglyNum5 * 5);
            uglyNum[count] = curUgly;
            while(*uglyNum2 * 2 <= curUgly)
                uglyNum2++;
            while(*uglyNum3 * 3 <= curUgly)
                uglyNum3++;
            while(*uglyNum5 * 5 <= curUgly)
                uglyNum5++;
            count++;
        }
        int result = uglyNum[n-1];
        delete [] uglyNum;
        return result;
        
    }
};


相关文章:

  • [计算机术语]缺省
  • (一)Thymeleaf用法——Thymeleaf简介
  • 【Python】 命名空间与LEGB规则
  • 通用的进程监控脚本process_monitor.sh使用方法
  • Spark on Yarn集群搭建详细过程
  • MySQL学习笔记-数据类型与操作数据表
  • sklearn包学习
  • 转一个简单的vue.js的图片懒加载的插件代码!
  • 学渣的逆袭:他叛逆狂妄,却搞出不少大新闻
  • MySQL 数据库分表分区
  • LVS+keepalived 下部署RTSP负载均衡
  • Android DatePickerDialog样式不一致的问题
  • js变量作用域和闭包的示例
  • 王小川分享AI
  • 从源代码编译 Vim 8.0
  • 【知识碎片】第三方登录弹窗效果
  • Cookie 在前端中的实践
  • HomeBrew常规使用教程
  • js作用域和this的理解
  • k8s 面向应用开发者的基础命令
  • mockjs让前端开发独立于后端
  • vagrant 添加本地 box 安装 laravel homestead
  • vue 配置sass、scss全局变量
  • Vue.js 移动端适配之 vw 解决方案
  • vue-cli在webpack的配置文件探究
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 一、python与pycharm的安装
  • 一个项目push到多个远程Git仓库
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 运行时添加log4j2的appender
  • NLPIR智能语义技术让大数据挖掘更简单
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 整理一些计算机基础知识!
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​虚拟化系列介绍(十)
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #pragma once
  • #pragma预处理命令
  • #stm32驱动外设模块总结w5500模块
  • #前后端分离# 头条发布系统
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (二)PySpark3:SparkSQL编程
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (论文阅读11/100)Fast R-CNN
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (五)MySQL的备份及恢复
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)创业的注意事项
  • .CSS-hover 的解释
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .NetCore项目nginx发布