Leetcode:丑数2

cpp 复制代码
class Solution {
public:
    
    long long ret =INT_MAX;
    vector<int> v = { 2,3,5 };
    void dfs(long long tar, int idx, long long last)
    {
        if (tar > last)
        {
            if (ret == last)
                ret = tar;
            else ret = min(ret, tar);
            return;
        }
        for (int i = idx; i < 3; i++)
        {
            tar *= v[i];
            dfs(tar, i, last);
            tar /= v[i];
        }
    }
    int nthUglyNumber(int n)
    {
        long long last = 1;
        for (int i = 2; i <= n; i++)
        {
            dfs(1, 0, last);
            last = ret;
        }
        return ret == INT_MAX? 1 : ret;
    }
};

自己的方法,不是最优解。

相关推荐
无限进步_25 分钟前
C++ 继承机制完全解析:从基础原理到菱形继承问题
java·开发语言·数据结构·c++·vscode·后端·算法
superior tigre27 分钟前
45 跳跃游戏2
算法·leetcode·游戏
不知名的忻38 分钟前
并查集(QuickUnion)
java·数据结构·算法·并查集
leo__52041 分钟前
基于时延的麦克风声源定位 - C实现
c语言·开发语言·算法
攻防_SRC42 分钟前
面向分组密码差分故障分析的属性推导与验证平台
人工智能·算法·机器学习
likerhood1 小时前
Java实现选择题选项乱序算法
java·开发语言·算法
小鱼~~1 小时前
最小二乘&均方误差MSE&平均绝对误差MAE
python·算法·机器学习
田梓燊1 小时前
力扣:138.随机链表的复制
算法·leetcode·链表
不忘不弃1 小时前
皇后摆放问题优化求解法
算法
王老师青少年编程1 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【区间贪心】:线段覆盖
c++·算法·贪心·csp·信奥赛·区间贪心·线段覆盖