力扣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;
      }
  };
相关推荐
SL_staff6 分钟前
JVS-APS 实践:用双向反馈闭环打破制造计划孤岛
java·spring cloud·全栈
xys_67822 分钟前
深挖数据结构:树和二叉树(上)
数据结构·算法
\光辉岁月/24 分钟前
3.包装类
java·开发语言·包装类
BeiGuTing_code25 分钟前
Java动态数组(一)
java·数据结构·windows
我命由我1234535 分钟前
软件工程概念 - 可插拔性
java·后端·学习·java-ee·系统架构·软件工程·学习方法
Interview Aid1121 小时前
Google SWE Intern VO 面经:两轮 Coding,Follow-up 考察 BFS 状态
算法
木易 士心1 小时前
Java 后端驱动远程手机自动化:ADB + Python + 内网穿透实战全解
java·后端·智能手机·自动化
十年Java程序媛1 小时前
JVM 内存区域与对象内存布局|new 对象底层流程,对象头 MarkWord 详解
java·jvm·spring boot
用户094248568031 小时前
第2章:Windows、WSL2 与 Docker 环境搭建Redis
java·jvm
琳达爱分享1 小时前
从单机令牌桶到集群限流:一次配额超发的复盘
后端·算法