34-丑数

xiaoxiao2021-02-28  139

int GetUglyNumber_Solution(int index) { if(index<7) return index; vector<int> ugly(index); int p2=0,p3=0,p5=0; ugly[0]=1; for(int i=1;i<index;++i) { ugly[i] = min(min(ugly[p2] * 2, ugly[p3] * 3), ugly[p5] * 5); if(ugly[i]==ugly[p2]*2)p2++; if(ugly[i]==ugly[p3]*3)p3++; if(ugly[i]==ugly[p5]*5)p5++; } return ugly[index-1]; }

每次我们只用比较3个数:用于乘2的最小的数、用于乘3的最小的数,用于乘5的最小的数。

脑子有问题,最小的数总是理解不能,先记下来把

转载请注明原文地址: https://www.6miu.com/read-21975.html

最新回复(0)