Leetcode--264. 丑数Ⅱ

编写一个程序,找出第 n 个丑数。

丑数就是只包含质因数 2, 3, 5 的正整数。

示例:

输入: n = 10
输出: 12
解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。
说明:  

1 是丑数。
n 不超过1690。

思路:从1开始,需要对每个值都乘以2,3,5,然后判断大小把他们依次放入数组

设置三个指针位,各自独立地向后遍历,实现这个目标

提交的代码:

class Solution {
    public int nthUglyNumber(int n) {
        int x,y,z,i,j=1;
        int[] nums = new int[1690];
        nums[0] = 1;
        x = 0;
        y = 0;
        z = 0;
        for(i=1;i<n;i++)
        {
            j = java.lang.Math.min(nums[x]*2, java.lang.Math.min(nums[y]*3,nums[z]*5));
            if(nums[x]*2==j)
            {
                nums[i]=j;
                x++;
            }
            if(nums[y]*3==j)    //不可用else if,否则如果x位于第三个位置3处,y位于第二个位置2处,会出现重复的数字(2*3=3*2)
            {
                nums[i]=j;
                y++;
            }
            if(nums[z]*5==j)
            {
                nums[i]=j;
                z++;
            }       
        }
        return nums[n-1];
    }
}

完整的代码:
import java.util.Scanner;

public class Soluiton264 {
    public static int nthUglyNumber(int n) {
        int x,y,z,i,j=1;
        int[] nums = new int[1690];
        nums[0] = 1;
        x = 0;
        y = 0;
        z = 0;
        for(i=1;i<n;i++)
        {
            j = java.lang.Math.min(nums[x]*2, java.lang.Math.min(nums[y]*3,nums[z]*5));
            if(nums[x]*2==j)
            {
                nums[i]=j;
                x++;
            }
            if(nums[y]*3==j)
            {
                nums[i]=j;
                y++;
            }
            if(nums[z]*5==j)
            {
                nums[i]=j;
                z++;
            }       
        }
        return nums[n-1];
    }
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);
        int x = scanner.nextInt();
        System.out.println(nthUglyNumber(x));

    }
}
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智慧城市产业图谱(2020年)

来源&#xff1a;中国信息通信研究院&#xff08;转载请注明来源&#xff09;编辑 &#xff1a;蒲蒲推进新型智慧城市&#xff0c;是党中央、国务院推动我国新型工业化、信息化、城镇化和农业现代化同步发展做出的重大决策&#xff0c;有利于深化新一代信息通信技术与城市发展的…

MySQL运维知识点_mysql运维必备知识点(转载至其他作者)

(1)基础笔试命令考察1.开启MySQL服务/etc/init.d/mysqld startservice mysqld startsystemctl start mysqld2.检测端口是否运行lsof -i :3306netstat -lntup |grep 33063.为MySQL设置密码或者修改密码设置密码mysql -uroot -ppassword -e "set passowrd for root passowr…

制造业人工智能8大应用场景

资料来源&#xff1a;软件定义世界&#xff08;SDX&#xff09;文&#xff1a;e-works孙亚婷 郑倩 来源&#xff1a;数字化企业人工智能的概念第一次被提出&#xff0c;是在20世纪50年代&#xff0c;距今已六十余年的时间。然而直到近几年&#xff0c;人工智能才迎来爆发式的增…

Leetcode--7. 整数反转

给出一个 32 位的有符号整数&#xff0c;你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数&#xff0c;则其数值范围为 [−231, …

mysql数据库基础 博客园_MySQL数据库基础

数据库的一些概念题&#xff1a;DB DBMS 和DBS三者之间的关系DBS(数据库系统) 包含DB(数据库)和DBMS(数据库管理系统)DB&#xff1a;是指datebase(数据库)DBS:是指datebase systerm (数据库系统)DBMS:是指datebase mangement systerm(数据库管理系统)区别&#xff1a;数据库就是…

回忆杀:2020年出自MIT的十大顶级热门研究

来源&#xff1a;学术头条 编译&#xff1a;阳光编审&#xff1a;王新凯尽管 2020 年是我们大多数人都希望去忘记的一年&#xff0c;但它仍然具有许多值得庆祝的研究突破。虽然新冠疫情的全球性爆发带来了新的挑战&#xff0c;但也正是因为这些挑战&#xff0c;MIT 的研究团队…

Leetcode--300. 最长上升子序列

给定一个无序的整数数组&#xff0c;找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101]&#xff0c;它的长度是 4。 说明: 可能会有多种最长上升子序列的组合&#xff0c;你只需要输出对应的长度即可。 你算…

枚举类型使用

一个博客: https://blog.csdn.net/javazejian/article/details/71333103 阿里开发规范: 【参考】枚举类名建议带上 Enum 后缀&#xff0c;枚举成员名称需要全大写&#xff0c;单词间用下划线隔开。 说明&#xff1a; 枚举其实就是特殊的类&#xff0c; 域成员均为常量&#xff…

多字段回溯 mysql_回溯算法 | 追忆那些年曾难倒我们的八皇后问题

前言说起八皇后问题&#xff0c;它是一道回溯算法类的经典问题&#xff0c;也可能是我们大部分人在上数据结构或者算法课上遇到过的最难的一道题……在这里插入图片描述第一次遇到它的时候应该是大一下或者大二这个期间&#xff0c;这个时间对啥都懵懵懂懂&#xff0c;啥都想学…

这一年,宇宙“面目”愈发清晰

来源&#xff1a;科技日报 深邃的星空&#xff0c;埋藏着无数奥秘&#xff0c;叩问2020年的宇宙苍穹&#xff0c;阵阵回响唤起惊奇与敬畏无数&#xff1a;人类首次在银河系外发现氧气、绘制迄今最大宇宙三维地图、发现“不可能存在”的中等质量黑洞……宇宙的秘密&#xff0c;正…

Leetcode--338. 比特位计数

给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i &#xff0c;计算其二进制数中的 1 的数目并将它们作为数组返回。 示例 1: 输入: 2 输出: [0,1,1] 示例 2: 输入: 5 输出: [0,1,1,2,1,2] 进阶: 给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可…

ASP.NET Core Web API 索引 (更新Identity Server 4 视频教程)

GraphQL 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(上)使用ASP.NET Core开发GraphQL服务器 -- 预备知识(下)[视频] 使用ASP.NET Core 开发 GraphQL 服务器 腾讯视频专辑&#xff1a;http://v.qq.com/vplus/4cfb00af75c16eb8d198c58fb86eb4dc/foldervideos/ead0015018e4u…

mysql connector net 6.9.3_MySQL Connector/Net 6.9.3 发布 MySQL Connector/Net 6.9.3下载

MySQL Connector/ODBC 是 MySQL 数据库的官方 .NET 平台驱动程序。MySQL Connector/Net 6.9.3 发布&#xff0c;此版本是 6.9 系列的第一个 GA 版本。Bugs 修复Adding a new column to an existing model as identity and PK failed when applying the migration. (Bug #192863…

Leetcode--50. Pow(x,y)

实现 pow(x, n) &#xff0c;即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, 3 输出: 9.26100 示例 3: 输入: 2.00000, -2 输出: 0.25000 解释: 2-2 1/22 1/4 0.25 说明: -100.0 < x < 100.0 n 是 32 位有符号整数…

在失败中学习,MIT新研究显示,机器可以像婴儿一样学会理解人类目标

大数据文摘出品来源&#xff1a;MIT编译&#xff1a;周熙在Warneken和Tomasello关于人类社会智力的经典实验中&#xff0c;一个18月大蹒跚学步的幼儿看着一个男人抱着一堆书走向一个未开封的柜子。当男子到达柜子时&#xff0c;他笨拙地将书在柜门上撞了几下&#xff0c;然后发…

django http404 详解

【引子】 今天在看django的官方文档的时候看到get_object_or_404这个函数感觉比较奇怪。这个主要来自于它的功能&#xff0c;如果要查询的对象 存在那么就返回对象&#xff1b;如果对象不存在那么就要报404 Not Found &#xff1b;但是404 Not Found并不是它的返回值&#xff0…

这一年,科学高度不断刷新

来源&#xff1a;科技日报●存算一体架构在手写数字集上的识别准确率达到96.19%●截至12月14日21时&#xff0c;“天问一号”探测器已在轨飞行144天&#xff0c;飞行里程约3.6亿公里&#xff0c;距离地球超过1亿公里●嫦娥五号经历了11个阶段、23天的在轨工作&#xff0c;采集了…

python天天向上的力量三天打鱼两天晒网_017 示例3-天天向上的力量-Go语言中文社区...

一、"天天向上的力量"问题分析1.1 天天向上的力量基本问题&#xff1a;持续的价值一年365天&#xff0c;每天进步1%&#xff0c;累计进步多少呢&#xff1f;(1.01^{365})一年365天&#xff0c;每天退步1%&#xff0c;累计剩下多少呢&#xff1f;(0.99^{365})1.2 需求…

CNS三大刊2020年年度最佳论文全部出炉!脑科学一共4篇,我国学者入选1篇!

来源&#xff1a; brainnews编辑部、inature编辑部来源&#xff1a;生物谷旗下细胞公众号&#xff0c;药明康德团队旗下学术经纬公众号Cell ,Nature和Science 三大期刊2020年年度最佳论文全部公布&#xff0c;brainnews编辑部摘选其中跟脑科学相关的文章&#xff0c;跟大家一起…

Leetcode--191. 位1的个数

编写一个函数&#xff0c;输入是一个无符号整数&#xff0c;返回其二进制表达式中数字位数为 ‘1’ 的个数&#xff08;也被称为汉明重量&#xff09;。 示例 1&#xff1a; 输入&#xff1a;00000000000000000000000000001011 输出&#xff1a;3 解释&#xff1a;输入的二进制…