剑指Offer_编程题 | 丑数

在这里插入图片描述

class Solution {
public:
    int GetUglyNumber_Solution(int index) {
        if(index < 0)
        {
            return -1;
        }
        long int dp[index + 1];
        dp[0] = 0;
        dp[1] = 1;
        long int *n2, *n3, *n5;
        n2 = n3 = n5 = &dp[1];
        for(int i = 2; i <= index; i++) {
            dp[i] = min(*n2 * 2, min(*n3 * 3, *n5 * 5));
            if(*n2 * 2 == dp[i]) n2++;
            if(*n3 * 3 == dp[i]) n3++;
            if(*n5 * 5 == dp[i]) n5++;
        }
        return dp[index];
    }
};

在这里插入图片描述

发布了103 篇原创文章 · 获赞 29 · 访问量 4928

猜你喜欢

转载自blog.csdn.net/weixin_43956456/article/details/105698616
今日推荐