个人心得:这题错了很多很多次,一开始单纯是想一直除2,3,5能除尽就可以了,但是数据太大,从第九组数据开始就超时了。 后面听了队友的意见打表,这里用了丑数的思想,就是从2,3,5开始依次取出最小的数分别乘以2,3,5若不存在就放进优先队列, 当然要用set就行存储,s.count()就是查找是否存在 ...
分类:
其他好文 时间:
2017-09-23 13:44:27
阅读次数:
149
1.把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 思路1:最简单的思路,从1到大数,每个数都检测一遍是否是丑数。一个数一个数的判断,如果能被2整除,就一直除以2,如果 ...
分类:
其他好文 时间:
2017-09-12 11:12:33
阅读次数:
196
这次笔试的时候,我遇见了一个笔试题目,我觉得这个题目,真的体现了数学之美,我的天,你自己抓破脑子,啊啊啊啊啊,我该怎么办,然后,你一看答案,有一种醍醐灌顶的感觉,然后拍一拍自己的小脑瓜,唉声叹气,哎,我自己怎么就没想到呢 题目如下 最小因子,只有2和3和5的数,称作丑数(Ugly Number)。例 ...
分类:
Web程序 时间:
2017-09-10 22:51:36
阅读次数:
267
题目描述 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 思路:第一种方法就是暴力求解方法。 class Solution { public: bool judge(i ...
分类:
其他好文 时间:
2017-09-07 13:22:56
阅读次数:
137
一、题目 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 二、解法 ...
分类:
其他好文 时间:
2017-08-30 22:34:05
阅读次数:
217
丑数 因子只含2,3,5的数称为丑数。 怎么求第K大的丑数呢。K可以为10^7 最简单的做法是,对每个数判断是否为丑数。 复杂度为O( n * log(n) ),理论上是不行的。 uglys[i] 来保存所有丑数,uglys[0] = 1 因为要按从小到大产生一个新的丑数。这个丑数必然为之前某个丑数 ...
分类:
其他好文 时间:
2017-08-30 20:04:20
阅读次数:
90
#include #include #include #include using namespace std; typedef long long ll; const int coeff= {2,3,5}; int main() { //一些常见的优先队列,STL提供了更为简单的定义方法 //对于... ...
分类:
编程语言 时间:
2017-08-21 10:28:51
阅读次数:
165
Humble Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 16742 Accepted Submission(s): 728 ...
分类:
其他好文 时间:
2017-08-05 13:22:53
阅读次数:
229
class Solution { public://别人的代码就是精简,惭愧啊,继续学习。 int GetUglyNumber_Solution(int index) { if (index res(index); res[0] = 1; int t2 = 0, t3 = 0, t5 = 0, i;... ...
分类:
其他好文 时间:
2017-08-03 01:07:34
阅读次数:
130
问题描述: 写一个程序来找第 n 个超级丑数。 超级丑数的定义是正整数并且所有的质数因子都在所给定的一个大小为 k 的质数集合内。 比如给你 4 个质数的集合 [2, 7, 13, 19], 那么 [1, 2, 4, 7, 8, 13, 14, 16, 19, 26, 28, 32] 是前 12 个 ...
分类:
编程语言 时间:
2017-07-25 13:32:00
阅读次数:
156