Skip to content

Commit f8a6d76

Browse files
authored
Add 668_Kth_Smallest_Number_in_Multiplication_Table (qiyuangong#21)
* Add 668_Kth_Smallest_Number_in_Multiplication_Table CPP solution, by @ruchit2801
1 parent 1692022 commit f8a6d76

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
class Solution {
2+
public:
3+
#define ll long long int
4+
5+
bool valid(ll x, int m, int n, int k){
6+
int cnt=0;
7+
for(int i=1;i<=m;i++){
8+
cnt+=n<x/i?n:x/i;
9+
if(x/i==0)break;
10+
}
11+
return cnt>=k;
12+
}
13+
14+
int findKthNumber(int n1, int n2, int k) {
15+
ll l=0, r=n1*n2,ans;
16+
while(l<=r){
17+
ll m = l +(r-l)/2;
18+
if(valid(m,n1,n2,k)){
19+
ans=m;
20+
r=m-1;
21+
}
22+
else{
23+
l=m+1;
24+
}
25+
}
26+
return ans;
27+
}
28+
};

0 commit comments

Comments
 (0)