去年十二月份就已经做过了这道题。当时只是做出来,还来还没有完全理解。这不,三个月后的今天,竟忘记了。这两天看到不少面试题都喜欢拿这道题提问,于是,我便重新看了以前写的代码。
其实理解应该不算太难。就是一个数列,里面的数的因子只有2,3,5,并且这个数列按照从小到大的顺序排列。
设ugly[]数组保存这个数列,这样,可以设三个指针p2,p3,p5,分别指向数列中的三个数(可以相同),取ugly[p2],ugly[p3],ugly[p5]中的最小者作为下一个数,并将该所对应的指标加1。不断重重该过程,直到求出第N个数为止。

本文介绍了一种寻找Ugly Number的算法实现。Ugly Number是指只包含质因数2、3和5的正整数。文章通过具体示例解释了算法的工作原理,并提供了一个简洁的C++代码实现。

被折叠的 条评论
为什么被折叠?



