Solution1:
题意模模糊糊,实际上就是求第k个丑数,在《剑指offer》上有类似的题目~
别人的代码真是简洁,学习之~~~

class KthNumber {
public:
int findKth(int k) {//返回因子中只有3,5,7的第k个数
// write code here
vector<int> res(k + 1, 0);
res[0] = 1;
int t3 =0, t5 = 0, t7 = 0;
for(int i = 1; i <= k; i++) {
res[i] = min(res[t3] * 3, min(res[t5] * 5, res[t7] * 7));
if(res[i] == res[t3] * 3) t3++;
if(res[i] == res[t5] * 5) t5++;
if(res[i] == res[t7] * 7) t7++;
}
return res[k];
}
};
本文提供了一种简洁高效的算法实现来寻找特定条件下的第K个丑数,即因子仅包含3, 5, 7的数。通过动态规划的方法,使用三个指针分别跟踪3, 5, 7倍数的最小值。

被折叠的 条评论
为什么被折叠?



