Day 4
Date: September 28, 2022 12:10 PM
Title: 第k个数
Link:https://leetcode.cn/problems/get-kth-magic-number-lcci/
类似于丑数
代码中用到vector容器,vector用法详解请见C++STL常用知识 (持续更新现仅入门)_只惠摸鱼的博客-优快云博客
class Solution {
public:
int getKthMagicNumber(int k) {
//依提示得为3a,5b,7c的数
vector<int> v(k);
v[0]=1;//第一个数
int p1=0;
int p2=0;
int p3=0;//三个作为容器的索引 类比为指针 分别指向3*a, 5*b, 7*c
for(int i=1;i<k;i++){//第k个数下标为k-1
int num1 = 3*v[p1];
int num2 = 5*v[p2];
int num3 = 7*v[p3];
int next = min(min(num1, num2), num3);
if(next==num1) p1++;//指针更新,方便下次计算
if(next==num2) p2++;
if(next==num3) p3++;
v[i] = next;//存入容器
}
return v[k-1];
}
};