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;
    }
};

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

相关推荐
vi1212312 分钟前
土壤与水分遥感反演技术综述:原理、方法与应用
人工智能·算法·无人机
智者知已应修善业15 分钟前
【蓝桥杯龟兔赛跑】2024-2-12
c语言·c++·经验分享·笔记·算法·职场和发展·蓝桥杯
Tisfy21 分钟前
LeetCode 955.删列造序 II:模拟(O(mn)) + 提前退出
算法·leetcode·字符串·题解·遍历
im_AMBER26 分钟前
Leetcode 82 每个字符最多出现两次的最长子字符串 | 删掉一个元素以后全为 1 的最长子数组
c++·笔记·学习·算法·leetcode
java修仙传30 分钟前
力扣hot100:旋转排序数组中找目标值
算法·leetcode·职场和发展
式51632 分钟前
量子力学基础(二)狄拉克符号与复数向量空间
人工智能·算法·机器学习
k***921642 分钟前
【Linux】进程概念(六):地址空间核心机制
linux·运维·算法
xu_yule44 分钟前
算法基础-字符串哈希
算法·哈希算法·散列表
lixzest1 小时前
C++中经常用的头文件介绍
数据结构·c++·算法
保持低旋律节奏1 小时前
linux——进程调度(时间片+优先级轮转调度算法O(1))
linux·运维·算法