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));
}
}
Leetcode--264. 丑数Ⅱ相关推荐
- leetcode - 264. 丑数 II
264. 丑数 II -------------------------------------------- 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示 ...
- LeetCode 264. 丑数 II
264. 丑数 II Ideas 竟然没想到用小根堆,白学了,再把小根堆抄一遍. Code Python class Solution:def nthUglyNumber(self, n: int) ...
- LeetCode 264. 丑数 II--动态规划
丑数 II 编写一个程序,找出第 n 个丑数. 丑数就是质因数只包含 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 1 ...
- Leetcode 264. 丑数 II 解题思路及C++实现
方法一:暴力解法 解题思路: 直接从整数1开始,不断递增,判断该数字是否为丑数(专门写一个判断是否为丑数的函数),当遇到一个丑数,则计数值加1,直至遇到n个丑数为止. 当n很大时,这种暴力解法会遇到 ...
- 86. Leetcode 264. 丑数 II (动态规划-基础题)
给你一个整数 n ,请你找出并返回第 n 个 丑数 .丑数 就是只包含质因数 2.3 和/或 5 的正整数.示例 1:输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, ...
- 78. Leetcode 264. 丑数 II (堆-技巧二-多路归并)
给你一个整数 n ,请你找出并返回第 n 个 丑数 .丑数 就是只包含质因数 2.3 和/或 5 的正整数.示例 1:输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, ...
- leetcode 264. 丑数 II(堆)
给你一个整数 n ,请你找出并返回第 n 个 丑数 . 丑数 就是只包含质因数 2.3 和/或 5 的正整数. 示例 1: 输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, ...
- LeetCode 264.丑数 II(动态规划)
题目描述 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10 ...
- LeetCode 263. 丑数 264. 丑数 II(DP)
文章目录 1. LeetCode 263. 丑数 解题 2. LeetCode 264. 丑数 II DP解题 1. LeetCode 263. 丑数 编写一个程序判断给定的数是否为丑数. 丑数就是只 ...
- 【LeetCode】263.丑数 264. 丑数 II
I. 263. 丑数(是否为丑数) 一.题目描述 编写一个程序判断给定的数是否为丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例 1: 输入: 6 输出: true 解释: 6 = 2 ...
最新文章
- android 应用程序分析之settings,Android 应用程序分析之Settings
- 猫狗识别——PyTorch
- Anaconda建立新的环境,出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url 解决过程
- Spring Boot 最核心的 3 个注解详解
- python列表_Python中列表(list)操作方法汇总
- 使用福禄克CFP单模光纤测试仪像专家一样设置参数!
- mysql cbo优化器_查询优化器介绍 - PolarDB-X 云原生分布式数据库 - 阿里云
- (44)FPGA时序逻辑与组合逻辑(组合逻辑)
- sql 缓冲池_监视SQL Server中的内存文员和缓冲池分配
- 顺序表的动态存储细节
- linux系统电脑接硬盘盒,在linux系统下添加新硬盘
- xp 远程桌面无法找到该计算机,XP系统中远程无法连接指定计算机的处理方法
- paip.突破 网站 手机 验证码 的 破解 总结
- 【相濡以沫、相忘于江湖】
- office:word在编辑内容时反应迟钝的解决办法
- 软通动力上市难掩隐忧,软件外包模式或受冲击
- 在iOS中进行Mapbox地图开发杂谈
- 关于Linux的应用层定时器
- 政府补贴政策这么多,ITSS信息技术服务标准到底是什么?
- cas351019-18-6|氟吡啶-3-硼酸|2-氟吡啶-5-硼酸|6-氟-3-吡啶硼酸
热门文章
- LintCode 802. 数独(回溯)/ LeetCode 37. 解数独
- LeetCode 722. CPP删除注释(逻辑题)
- LeetCode 496. 下一个更大元素 I(哈希)
- nrf52832芯片手册_nRF52832低功耗问题不完全总结
- python中_str_使用方法
- python中随机输入数字再排序
- java字符流写入式乱码_字节流乱码与字符流乱码
- reg类型变量综合电路_Verilog中reg型变量的综合效果(待补充)
- 系统错误_Win10系统提示0x80004005错误的解决方法
- 想成长为一名实战型架构师?7大实战技能经验分享