c++

丑数

http://www.nowcoder.com/questionTerminal/6aa9e04fc3794f68acf8778237ba065b

class Solution {
public:
    int GetUglyNumber_Solution(int index) {
        if (index <= 0) return 0;
        vector<int> ugly(index);
        ugly[0] = 1;
        int  p2 = 0, p3 = 0, p5 = 0;
        for (int i = 1; i < index; ++ i) {
            ugly[i] = min(ugly[p2]*2, min(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];
    }
};
全部评论

相关推荐

10-28 14:42
门头沟学院 Java
watermelon1124:因为嵌入式炸了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
6 收藏 评论
分享
牛客网
牛客企业服务