其他分享
首页 > 其他分享> > 0中等 丑数ugly

0中等 丑数ugly

作者:互联网

分析

一个丑数其实就是若干个2、3和5相乘而得到的。也就说第n个丑数的因子在前面的丑数中肯定出现过。那么第n个丑数的产生由前哪个丑数来决定的呢?我们可以肯定的是,是由前面某的一个丑数乘以2,3或者5得到的。假设现在有一个已经排好序的丑数数组,其中最大的丑数M排在数组的最后一个位置。如果我们将这所有的丑数都乘以2,那么就会得到很多丑数,这些丑数有的比M大,有的比M小。我们假设第一个比M大的数为M2。同理,我们可以将所有的丑数乘以3和5,得到第一个比M大的数称为M3和M5。这样M2,M3和M5都比M大。取这三者之中的最小者,就是下一个丑数了。
原文链接:https://blog.csdn.net/u010912383/article/details/51940940

先建立长度为N的数组uglyNum,以便存储求来的丑数。按照程序的顺序来求, 初始值uglyNum[0] =
1;三路索引初始均指向第一个数。三个索引相互独立 第一次比较: 12 13
三个中的最小值为2,所以下一个丑数取2,那么数组中的值为1、2。mutil2++,指向数组中下一个元素:2 15 第二次比较: 22
13 三个数中的最小值为3,所以下一个丑数取3,那么数组中的值为1、2、3。mutil3++,指向数组中的下一个元素:2 15
第三次比较: 22 23
三个数中的最小值为4,所以下一个丑数取4,那么数组中的值为1、2、3、4。mutil2++,指向数组中的下一个元素:3 1*5 依此…
原文链接:https://blog.csdn.net/qq_34250494/article/details/88989109

标签:丑数,指向,++,中等,ugly,最小值,数组,丑数取
来源: https://blog.csdn.net/weixin_43260719/article/details/119884589