力扣668.乘法表中第k小的数

力扣668.乘法表中第k小的数

  • 二分查找

    • 是否有k个比mid小的数
cpp 复制代码
  class Solution {
  public:
      int findKthNumber(int m, int n, int k) {
          auto check = [&](int mid) -> bool
          {
              int res=0;
              int row = 1,col = n;
              while(row <= m)
              {
                  if(row * col <= mid)
                  {
                      res += col;
                      if(res >= k) return false;
                      row ++;
                  }
                  else col --;
              }
              return true;
          };
          int l = 1,r = n * m;
          while(l<r)
          {
              int mid = l + r + 1 >> 1;
              if(check(mid)) l = mid;
              else r = mid - 1;
          }
          return r + 1;
      }
  };
相关推荐
计算机毕设定制辅导-无忧学长2 分钟前
《基于Spring Boot的减脂轻食购物网站》
java·vue.js·spring boot·后端·减脂轻食购物网站
青山木3 分钟前
Hot 100 --- 下一个排列
java·数据结构·算法·leetcode
Thinker QAQ4 分钟前
并发编程(六):Atomic 的实现——从 Runtime 到 CPU
java·go·cas·并发编程·atomic·cpython
垆边人似月.7 分钟前
字符串重排后最大字典序
算法·leetcode·职场和发展
码流子7 分钟前
AI稽核精灵-Agent落地
大数据·人工智能·物联网·算法·系统架构
沐欣工作室_lvyiyi13 分钟前
基于SpringBoot的博物馆预约系统设计与实现(论文+源码)
java·spring boot·后端·计算机毕业设计
微三云生态系统架构师-彭丹16 分钟前
排队免单资金池专户存管与返本算法:队列模型与熔断保护
算法·熔断机制·排队免单·消费增值·资金池·队列系统·返本算法
wzdark24 分钟前
矩阵快速幂算法在图路径计算中的应用4
线性代数·算法·矩阵
Dylan的码园27 分钟前
A+B问题 进制处理【逻辑控制 运算符】
c++·算法