[Swift]LeetCode264.丑数 II | Ugly Number II
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10229952.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
Write a program to find the n
-th ugly number.
Ugly numbers are positive numbers whose prime factors only include 2, 3, 5
.
Example:
Input: n = 10 Output: 12 Explanation:1, 2, 3, 4, 5, 6, 8, 9, 10, 12
is the sequence of the first10
ugly numbers.
Note:
1
is typically treated as an ugly number.n
does not exceed 1690.
编写一个程序,找出第 n
个丑数。
丑数就是只包含质因数 2, 3, 5
的正整数。
示例:
输入: n = 10
输出: 12
解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12
是前 10 个丑数。
说明:
1
是丑数。n
不超过1690。
16ms
1 class Solution { 2 func nthUglyNumber(_ n: Int) -> Int { 3 if n == 1 { return 1} 4 var val1 = 2 5 var val2 = 3 6 var val3 = 5 7 var i1 = 0 8 var i2 = 0 9 var i3 = 0 10 var result = [1] 11 for i in 1 ..< n { 12 let current = min(min(val1, val2), val3) 13 result.append(current) 14 if current == val1 { 15 i1 += 1 16 val1 = result[i1] * 2 17 } 18 if current == val2 { 19 i2 += 1 20 val2 = result[i2] * 3 21 } 22 if current == val3 { 23 i3 += 1 24 val3 = result[i3] * 5 25 } 26 } 27 return result[n - 1] 28 } 29 }
20ms
1 class Solution { 2 func nthUglyNumber(_ n: Int) -> Int{ 3 4 var res = [1] 5 var i2 = 0, i3 = 0, i5 = 0 6 while res.count < n { 7 let m2 = res[i2]*2, m3 = res[i3]*3, m5 = res[i5]*5 8 let mn = min(min(m2, m3), m5) 9 if m2 == mn { i2 += 1 } 10 if m3 == mn { i3 += 1 } 11 if m5 == mn { i5 += 1 } 12 res.append(mn) 13 } 14 return res.last! 15 } 16 }
36ms
1 class Solution { 2 func nthUglyNumber(_ n: Int) -> Int { 3 var res = [1] 4 var i = 0 5 var j = 0 6 var k = 0 7 8 while res.count < n { 9 10 res.append(res[i] * 2) 11 i += 1 12 13 while res[j] * 3 < res[i] * 2 || res[k] * 5 < res[i] * 2 { 14 if res[j] * 3 < res[i] * 2 && res[j] * 3 < res[k] * 5 { 15 if res[j] % 2 != 0 { 16 res.append(res[j] * 3) 17 } 18 j += 1 19 } 20 else { 21 if res[k] % 2 != 0 && res[k] % 3 != 0 { 22 res.append(res[k] * 5) 23 } 24 k += 1 25 } 26 } 27 28 } 29 30 return res[n-1] 31 } 32 }
44ms
1 class Solution { 2 func nthUglyNumber(_ n: Int) -> Int { 3 var res = [1] 4 var c2 = 0, c3 = 0, c5 = 0 5 var t2, t3, t5: Int 6 var minp: Int 7 8 for _ in 1 ..< n { 9 t2 = res[c2] * 2 10 t3 = res[c3] * 3 11 t5 = res[c5] * 5 12 minp = min(t2, t3, t5) 13 if t2 == minp { 14 c2 += 1 15 } 16 if t3 == minp { 17 c3 += 1 18 } 19 if t5 == minp { 20 c5 += 1 21 } 22 res.append(minp) 23 } 24 25 return res.last! 26 } 27 }
转载于:https://www.cnblogs.com/strengthen/p/10229952.html
[Swift]LeetCode264.丑数 II | Ugly Number II相关推荐
- 剑指offer:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
问题:把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 通俗易懂的 ...
- 丑数(Ugly Number)的判别和证明
丑数 只包含因子2,3,5的正整数被称作丑数,比如4,10,12都是丑数,而7,23,111则不是丑数,另外1也是丑数.即因子中的所有质数范围在{2,3,5}之间,否则则不是丑数. 判断方法 首先除2 ...
- leetcode 264. Ugly Number II
传送门 264. Ugly Number II QuestionEditorial Solution My Submissions Total Accepted: 36259 Total Submis ...
- Leetcode264. Ugly Number II丑数2
编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 ...
- leetcode264. 丑数 II
编写一个程序,找出第 n 个丑数. 丑数就是质因数只包含 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 ...
- LeetCode - Medium - 264. Ugly Number II
Topic Math Dynamic Programming Heap Description https://leetcode.com/problems/ugly-number-ii/ Analys ...
- Lintcode 4 Ugly Number II
原题如下: Ugly number is a number that only have factors 2, 3 and 5. Design an algorithm to find the nth ...
- [leetcode] Ugly Number II
public class Solution { public int nthUglyNumber(int n) { int[] ugly=new int[n+10]; ...
- C#LeetCode刷题之#263-丑数(Ugly Number)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3862 访问. 编写一个程序判断给定的数是否为丑数.丑数就是只包含 ...
- Leetcode--264. 丑数Ⅱ
编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 ...
最新文章
- 乐高无限无法进入服务器,乐高无限6.13更新 无法进入游戏问题修复
- CentOS7 编译安装 gcc/c++ 9.1
- 如何从零开始搭建 CI/CD 流水线
- 用eclipse创建WebService项目
- ASP.NET MVC SignalR(1):背景
- SAP Fiori Launchpad tile里显示的数字的刷新间隔是在服务器端什么地方配置的
- 把男朋友变成儿子你只需要一秒
- 【机器学习】机器学习从零到掌握之十 -- 教你使用Python实现决策树
- OCEval-动态执行ObjectiveC的热修复方案
- jszip压缩文件上传到服务器,AngularJS - 使用JSZip压缩上传的pdf文件
- 12平键标准尺寸规格表_平键标准尺寸规格表
- 树莓派(RPi) CentOS7扩展内存卡剩余空间
- EXCEL数据组合的用法
- PostgreSQL checksum与Data Corruption
- Centos 7分区合并
- iPhone6 像素 分辨率
- 用html,js和css设计一个静态网页
- OSChina 周日乱弹 ——还是有个程序员女朋友好!
- Camunda撤回流程操作
- 使用Python计算股票期货,量化程序化交易
热门文章
- bootstrap 响应式布局
- 动态执行javascript代码
- 通过DBlink获取不同数据库数据
- MySQL呕血汇总--从基础到毕业【收藏篇】
- 03. Use const whenever possible
- Android进阶之利用Tablayout+ViewPager+Fragment实现神奇的滑动效果
- HTTP session的原理
- 正高职称 程序员_我985毕业33岁正高,职称评审哪里难?轻轻松松过职称
- 阿里 mysql内核_阿里云数据库内核组讲解MySQL中的两种临时表
- delphi调用python_Delphi使用Python来解码邮件