力扣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;
      }
  };
相关推荐
Lsk_Smion2 分钟前
力扣实训 _ [207].课程表/图论
数据结构·leetcode·图论
我命由我123452 分钟前
由 ImageView 获取到的 Drawable 对象,它的 intrinsicWidth、intrinsicWidth 与实际图片的尺寸
java·开发语言·java-ee·android studio·android jetpack·android-studio·android runtime
Han.miracle4 分钟前
Jackson 工具类详解:ObjectMapper 配置、泛型擦除、TypeReference 与 JavaType
java·spring boot·spring
guslegend5 分钟前
Java 创建对象有几种方式
java·开发语言
暗暗别做白日梦6 分钟前
延时消息的几种实现方式及优缺点
java
极客先躯9 分钟前
高级java每日一道面试题-2026年02月08日-实战篇[Docker]-如何实现容器的快照和恢复?
java·运维·docker·容器·备份·持久化·恢复
布朗克16810 分钟前
29 反射机制
java·开发语言·反射
孬甭_10 分钟前
深入剖析快速排序:原理、实现与性能优化
数据结构·算法·排序算法
San813_LDD12 分钟前
[数据结构]共享栈与双端队列:算法思想分析及C语言实现
java·开发语言·数据结构
我是一颗柠檬13 分钟前
【Java项目技术亮点】全链路分层限流:从网关到数据库的多层防护体系
java·开发语言·数据库