力扣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;
      }
  };
相关推荐
@卓越俊逸_角立杰出@几秒前
快速学会 Java 实现意图识别:从规则匹配到 BiLSTM 分类器
java·开发语言·人工智能
wear工程师2 分钟前
接口超时别只调大 timeout:Java HTTP 客户端其实有 3 段等待
java·http
AndrewHZ11 分钟前
【LLM技术全景】RAG 从原理到实战——检索增强生成完整指南
人工智能·深度学习·算法·llm·检索增强·生成式模型·rag
LuminousCPP11 分钟前
单链表专题(三)-刷题复盘篇:从快慢指针到环形链表 II 数学推导
数据结构·经验分享·笔记·学习·算法·链表
ydyd2026042112 分钟前
设备OEE怎么提升?数据采集+分析优化的完整方案
java·服务器·前端
-dzk-13 分钟前
【贪心算法】LC 121.买卖股票的最佳时机
算法·贪心算法
hanlin0315 分钟前
动态规划专练:力扣第718、1143题
算法·leetcode·动态规划
ChaoZiLL19 分钟前
二叉树经典例题
数据结构·算法
(╹◡╹)32 分钟前
11.RK3588本地大模型内存评估优化
java·linux·前端
不正经学生37 分钟前
C语言字符串函数进阶:安全版函数 + 错误处理 + 子串查找
c语言·开发语言·c++·算法·面试