力扣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;
      }
  };
相关推荐
Kina_C12 小时前
LVS负载均衡的十二种核心调度算法
linux·运维·算法·负载均衡·lvs
X-⃢_⃢-X12 小时前
四、OpenFeign远程调用
java·微服务·springboot·springcloud
减瓦13 小时前
深入 Quarkus:云原生时代 Java 的重生之路
java·开发语言·云原生
杨运交13 小时前
[053][核心模块]Java枚举缓存与ORM集成实践
java·开发语言·缓存
繁星蓝雨13 小时前
C++设计原理——异常处理
java·c++·异常处理·noexcept·throw·try catch
hansang_IR13 小时前
【题解】[AGC020E] Encoding Subsets
c++·算法·dp
BerrySen17813 小时前
一个Java项目改成AI流程后,最难的部分完全变了
java·大数据·人工智能·可观测性·大模型应用开发·工程思维
程序猿秃头之路14 小时前
DDD 系列:DTO、VO、DO、Entity 怎么区分
java·ddd·领域驱动设计
核数聚14 小时前
【赛迪专访核数聚】深耕数据治理,打通数据孤岛夯实 AI 发展根基
大数据·人工智能·算法
小许同学记录成长14 小时前
相对辐射定标技术文档
图像处理·算法