题解 | #牛牛的因子大挑战#
牛牛的因子大挑战
https://www.nowcoder.com/practice/86ad7188320246cfbd6012ef905203f3
1.考察知识点:
数组
2.编程语言:
C++
3.解题思路:
首先,定义数组保存因子
n的因子肯定是在[1,n]区间里,因此直接遍历判断是否为因子,将因子添加到vector数组中
最后处理特殊情况,并将第K个因子返回即可。
4.完整代码:
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @param k int整型
* @return int整型
*/
int findKthFactor(int n, int k) {
// write code here
//定义数组保存因子
vector<int> res;
for(int i=1;i<=n;i++)
{
//n的因子肯定是在[1,n]区间里
//直接遍历,将因子添加到vector数组中
if(n%i==0)
{
res.push_back(i);
}
}
//针对特殊情况进行处理
if(k>res.size())
{
return -1;
}
return res[k-1];
}
};