面試題 17.09. 第 k 個數


有些數的素因子只有 3,5,7,請設計一個算法找出第 k 個數。注意,不是必須有這些素因子,而是必須不包含其他的素因子。例如,前幾個數按順序應該是 1,3,5,7,9,15,21。

示例 1:

輸入: k = 5

輸出: 9

 

class Solution {
    public int getKthMagicNumber(int k) {
        int[] res = new int[k];
        res[0] = 1;
        int point3 = 0;
        int point5 = 0;
        int point7 = 0;
        for(int i = 1; i < k; i++) {
            int count = Math.min(Math.min(res[point3] * 3, res[point5] * 5), res[point7] * 7);
            if(count % 3 == 0) {
                point3++;
            }
            if(count % 5 == 0) {
                point5++;
            }
            if(count % 7 == 0) {
                point7++;
            }
            res[i] = count;
        }
        return res[k - 1];
    }
    
}

  

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/get-kth-magic-number-lcci
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM