leetcode 668. Kth Smallest Number in Multiplication Table | 668. 乘法表中第k小的数(二分查找)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 668. Kth Smallest Number in Multiplication Table | 668. 乘法表中第k小的数(二分查找)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode.com/problems/kth-smallest-number-in-multiplication-table/
題解
看了答案
Approach #3: Binary Search [Accepted]
class Solution {public int findKthNumber(int m, int n, int k) {int L = 1;int R = m * n;// 二分找不小于目標的右側第一個元素while (L <= R) {int M = L + (R - L) / 2;int result = count(m, n, M);if (result >= k) {R = M - 1;} else {L = M + 1;}}return L;}// 乘法表中,有多少個數字<=numpublic int count(int m, int n, int num) {int result = 0;for (int i = 1; i <= m; i++) {result += Math.min(num / i, n);}return result;} }總結
以上是生活随笔為你收集整理的leetcode 668. Kth Smallest Number in Multiplication Table | 668. 乘法表中第k小的数(二分查找)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 714. Best T
- 下一篇: leetcode 740. Delete