码迷,mamicode.com
首页 > 其他好文 > 详细

剑指office--------丑数

时间:2020-07-22 20:35:07      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:set   color   --   ber   title   功能   ==   因子   div   

题目描述

把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
 
 
 
思路:借用set的自动除重,与自动排序功能。
 
 1 class Solution {
 2 public:
 3     long long GetUglyNumber_Solution(long long index) {
 4         if (index<=0)    return 0;
 5         
 6         set<long long>q,p;
 7         set<long long>::iterator it;
 8         q.insert(1);
 9         long long res=1;
10         while (1){
11             if (res==index){
12                 return *(q.begin());
13             }
14             long long temp=*(q.begin());
15             p.insert(temp*2);
16             p.insert(temp*3);
17             p.insert(temp*5);
18             q.erase(*(q.begin()));
19             q.insert(*(p.begin()));
20             p.erase(*(p.begin()));
21             res++;
22         }
23         return 0;
24     }
25 };

 

剑指office--------丑数

标签:set   color   --   ber   title   功能   ==   因子   div   

原文地址:https://www.cnblogs.com/q1204675546/p/13362551.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!