县市区没有建设信用网站和平台,免费加盟无需店面,ps个人网站建设,vs做网站开发吗给你一个整数 n #xff0c;请你找出并返回第 n 个 丑数 。丑数 就是质因子只包含 2、3 和 5 的正整数。
//用一个数组来保存第1到第n个丑数
//一个丑数必须是乘以较小的丑数的 2、3 或 5来得到。
//使用三路合并方法#xff1a;L2、L3 和 L5三个指针遍历2、3、5倍的丑数序列…给你一个整数 n 请你找出并返回第 n 个 丑数 。丑数 就是质因子只包含 2、3 和 5 的正整数。
//用一个数组来保存第1到第n个丑数
//一个丑数必须是乘以较小的丑数的 2、3 或 5来得到。
//使用三路合并方法L2、L3 和 L5三个指针遍历2、3、5倍的丑数序列。
//假设你有第 k 个丑数那么 第k1 个必须是 MinL1 * 2 L2 * 3 L3 * 5。
//1 通常被视为丑数
class Solution {
public:int nthUglyNumber(int n) {vectorint ans;ans.push_back(1);int i 0, j 0, k 0;for (int a 1; a n; a) {int u1 2 * ans[i];int u2 3 * ans[j];int u3 5 * ans[k];ans.push_back(min(u1, min(u2, u3)));if (ans[a] u1)i;if (ans[a] u2)j;if (ans[a] u3)k;}return ans[n - 1];}
};时间复杂度O(n) 空间复杂度O(n)