标签:ret span 第一个 ber style 位置 desc 指针 获得
class Solution { public: /* bool check(int x){ while(x%2==0)x/=2; while(x%3==0)x/=3; while(x%5==0)x/=5; if(x==1)return true; else return false; }*/ int GetUglyNumber_Solution(int index) { /* //会超时 if(index==1)return 1; int cnt = 0 ; int x = 1 ; while(1){ if(check(x)){ cnt++; if(cnt == index)break; } ++x ; } return x;*/ if(index<7)return index; //7之前都是丑数 vector<int> ans(index); int t2=0, t3=0 , t5=0;//分别做乘的位置标记 ans[0]=1 ; for(int i=1 ; i<index ; ++i){ ans[i] = min(ans[t2]*2 , min(ans[t3]*3 , ans[t5]*5)); if(ans[i] == ans[t2]*2)t2++; //谁做了乘法 就下标往后移动一格 if(ans[i] == ans[t3]*3)t3++; if(ans[i] == ans[t5]*5)t5++; } return ans[index-1]; } };
标签:ret span 第一个 ber style 位置 desc 指针 获得
原文地址:https://www.cnblogs.com/Stephen-Jixing/p/13129923.html