力扣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;
      }
  };
相关推荐
牧以南歌〆14 分钟前
数据结构<八>链式队列
c语言·数据结构·算法
Reart27 分钟前
Leetcode 188.买卖股票的最佳时机4(718)
后端·算法
2601_9507607929 分钟前
BCMA:急性髓系白血病免疫治疗的新型可行靶点
人工智能·算法·蛋白
怎么比啊都是大神37 分钟前
关于==null、isEmpty()和StrUtil.isBlank()
java
唐青枫39 分钟前
Java Neo4j 实战指南:从图模型、Cypher 到 Spring Boot 关系查询
java
Reart42 分钟前
Leetcode 123.买卖股票的最佳时期3(内有随心谈,718)
后端·算法
观远数据1 小时前
从离线开发到实时同步:DataFlow如何支撑企业级数据治理闭环
java·windows·microsoft·excel
可编程芯片开发1 小时前
基于RMDCFT算法的天基雷达空间机动目标检测方法MATLAB仿真,对比FRFT和DFT算法
算法
noipp2 小时前
推荐题目:洛谷 B2099 矩阵交换行
线性代数·算法·矩阵
今天AI了吗2 小时前
Hermes Agent 搭建全流程:从本机试跑到可持续运行的个人 AI Agent
java·人工智能·python·学习·embedding