Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- int findKthNumber(int m, int n, int k) {
- int lo = 1, hi = m * n;
- while(lo < hi)
- {
- int mid = lo + (hi - lo) / 2;
- int i = count(m, n, mid);
- if(i >= k)
- hi = mid;
- else
- lo = mid + 1;
- }
- return lo;
- }
- private:
- int count(int m, int n, int num)
- {
- int i = m, j = 1, res = 0;
- while(j <= n && i > 0)
- {
- while(i * j > num)
- --i;
- res += i;
- ++j;
- }
- return res;
- }
- };
Add Comment
Please, Sign In to add comment