import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param n int整型
     * @param k int整型
     * @return int整型
     */
    public int findKthFactor (int n, int k) {
        ArrayList<Integer> arrayList = new ArrayList<>();
        for (int i = 1; i <= n ; i++) {
            if (n % i == 0) {
                arrayList.add(i);
            }
        }
        if (k > arrayList.size()) {
            return -1;
        }
        return arrayList.get(k - 1);
    }
}

本题知识点分析:

1.有序集合存取

2.数学模拟

本题解题思路分析:

1.集合存放因子

2.如果k大于集合的个数,返回-1

3.如何没有大于,返回第k-1个索引位置即可。

本题使用编程语言: Java