本文主要是介绍LeetCode 668 乘法表中第k小的数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
乘法表中第k小的数
题目
思路
利用乘法表递增性,进行类二分。
代码
class Solution {
public:int findKthNumber(int m, int n, int k) {int l=1,r=m*n;while(l<r){int mid=l+(r-l)/2,cnt=0;for(int i=1;i<=m;i++)cnt+=min(mid/i,n);if(k>cnt) l=mid+1;else r=mid;}return r;}
};
这篇关于LeetCode 668 乘法表中第k小的数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!