zoukankan      html  css  js  c++  java
  • 程序员面试金典--第k个数

    程序员面试金典--第k个数

    题目描述

    有一些数的素因子只有3、5、7,请设计一个算法,找出其中的第k个数。

    给定一个数int k,请返回第k个数。保证k小于等于100。

    测试样例:
    3
    返回:7

    逐个增加,直到找到第k个数。

    class KthNumber {
    public:
        int findKth(int k) {
            // write code here
            vector<int> vt{3, 5, 7}; 
            int pt3 = 0, pt5 = 0, pt7 = 0; 
            for(int i=4; i<=k; ++i){
                int val = min(3*vt[pt3], min(5*vt[pt5], 7*vt[pt7])); 
                if(val == 3*vt[pt3]){ pt3++; } 
                if(val == 5*vt[pt5]){ pt5++; } 
                if(val == 7*vt[pt7]){ pt7++; } 
                vt.push_back(val); 
            }
            return vt[k-1]; 
        }
    };
    

      

  • 相关阅读:
    力扣背包型动态规划
    并查集
    位运算题目
    随机采样题目
    单调栈题目
    前缀和题目
    贪心题目
    堆排序
    python装饰器
    状态机题目
  • 原文地址:https://www.cnblogs.com/zhang-yd/p/7202404.html
Copyright © 2011-2022 走看看