力扣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;
      }
  };
相关推荐
eBest数字化转型方案17 分钟前
从工程视角拆解冰柜资产管理:拍照识别 pipeline、纯净度算法与 IoT 选型踩坑
人工智能·物联网·算法
Interview Aid11218 分钟前
Roblox OA 面经|小游戏+编程双修,Coding 两题满分通过
算法
ChaHae-In28 分钟前
MyBatis入门操作
java·mybatis
闲研随记31 分钟前
【文献阅读 ICLR 2026】RL算法:Co-Rewarding
算法
xcLeigh33 分钟前
Go入门:短变量声明的陷阱与最佳实践
java·redis·golang·教程·变量
青山木39 分钟前
Hot 100 --- 最小栈
java·数据结构·算法·leetcode
疯狂打码的少年43 分钟前
【数据结构】栈的应用:表达式求值(后缀表达式)
java·数据结构·笔记·算法
szephyr1 小时前
腾讯云 ADP 智能体的 Skills 版本回滚总是回到旧配置,是缓存没清还是版本管理没开?
java·缓存·腾讯云
云烟成雨TD1 小时前
Micrometer 系列【39】链路追踪:入门案例 | 环境准备
java·云原生·链路追踪
HiDev_1 小时前
【非标自动化】plc执行顺序问题、扫描周期问题
深度学习·算法·机器学习