DeepSeek    LeetCode 668. Kth Smallest Number in Multiplication Table Java Implement

Here is the Java implementation for LeetCode 668. Kth Smallest Number in Multiplication Table, using the standard Binary Search on Value approach.

  1. Core Idea

The multiplication table is far too large to materialize (up to 9 \times 10^8 cells). Instead of finding the k-th number directly, we solve a reverse problem:

Given a value x, how many entries in the table are less than or equal to x?

This count is easy to compute:

· In the i-th row, the entries are i1, i2, …, i*n. The number of entries ≤ x is simply min(x / i, n).
· Summing this over all rows gives count(x).

The function count(x) is monotonically non-decreasing as x increases. Therefore, we can binary search for the smallest x such that count(x) >= k. This x is guaranteed to be the k-th smallest number in the table.

  1. Java Implementation (Standard Binary Search)
classSolution{publicintfindKthNumber(intm,intn,intk){intlo=1;inthi=m*n;while(lo<hi){intmid=lo+(hi-lo)/2;intcount=0;// Count how many entries are <= midfor(inti=1;i<=m;i++){count+=Math.min(mid/i,n);// Early exit if we already have enoughif(count>=k)break;}if(count>=k){hi=mid;// mid could be the answer; search left}else{lo=mid+1;// mid is too small; search right}}returnlo;}}

This code is adapted from the standard solution provided in the LeetCode community.

  1. Complexity Analysis

Metric Complexity Explanation
Time O(m \log(m \cdot n)) Binary search takes O(\log(m \cdot n)) iterations, and each iteration scans up to m rows.
Space O(1) Only a few integer variables are used.

  1. Possible Optimization (Optional)

The standard loop iterates over all m rows. However, for rows where i \le \lfloor mid / n \rfloor, every entry in that row is \le mid. This creates a “saturated block” of rows where count is simply n per row.

We can sum these rows in O(1) using multiplication, and only loop over the remaining rows. This reduces the inner loop from O(m) to O(\sqrt{mid}), bringing the total time down to O(\sqrt{m \cdot n} \log(m \cdot n)). For the given constraints, the standard version is already sufficient.

Key Note: Use long for the count variable if you are concerned about integer overflow, although for m, n ≤ 30,000, the maximum total count (9 × 10^8) still fits within a 32-bit signed integer. The mid variable also fits in int.

相关新闻

open-code-review:代码审查自动化工具的设计与实战解析

open-code-review:代码审查自动化工具的设计与实战解析

搞代码审查这么多年&#xff0c;我一直觉得这活儿本身才是团队里最需要被“审查”的一环。每次提到 code review&#xff0c;老程序员想到的是又一轮口水战&#xff0c;新程序员想到的是提心吊胆的“批斗会”&#xff0c;管理层看到的是进度表上永远悬着的那根刺。直到我动手把…

2026/10/19 15:44:44 阅读更多 →
超长文本语义分析:基于百万token窗口的‘撒网法’全解析

超长文本语义分析:基于百万token窗口的‘撒网法’全解析

网撒得开&#xff0c;鱼才进得来&#xff1b;问提得准&#xff0c;理才出得去。两者之间&#xff0c;隔着一整片文本的海。最近一直在处理一部约280万字的长篇书稿&#xff0c;做语义层面的整体分析。这个体量刚好超出单个百万token窗口的覆盖范围&#xff0c;只能拆成三个百万…

2026/10/19 15:44:44 阅读更多 →
open-code-review:diff驱动的轻量代码审查工具实践

open-code-review:diff驱动的轻量代码审查工具实践

先交代一个真实场景&#xff1a;周五下午我提了个 PR&#xff0c;改动量不大&#xff0c;就是给内部订单模块加了个重试逻辑。结果 reviewer 盯了半小时&#xff0c;回来留了四条 comment&#xff1a;一处 debug 日志没删&#xff0c;一处错误处理分支里忘了补返回&#xff0c;…

2026/10/19 15:43:43 阅读更多 →

最新新闻

伪“天眼查询系统”恶意样本分析:从静态拆解到全场景防护

伪“天眼查询系统”恶意样本分析:从静态拆解到全场景防护

这段时间做恶意样本分析&#xff0c;手里拿到一个安卓应用&#xff0c;名字挺正经&#xff0c;叫“天眼查询系统”。压缩包一看才3.99MB&#xff0c;我当时就想&#xff0c;正规工具类应用哪有这么小的。果不其然&#xff0c;装进隔离测试机里跑了一圈&#xff0c;后台动作一点…

2026/10/19 16:26:00 阅读更多 →
社区化CRM设计与落地实践:从客户台面到团队协作效率提升

社区化CRM设计与落地实践:从客户台面到团队协作效率提升

聊客户管理这个事&#xff0c;这几年我最大的感受是&#xff1a;工具并不缺&#xff0c;缺的是能把“销售跟进、客服响应、社群运营”全串起来的那张桌子。传统CRM我用了不少&#xff0c;录单麻烦、界面冰冷&#xff0c;销售觉得是给领导填报表用的&#xff0c;客服觉得是售后流…

2026/10/19 16:26:00 阅读更多 →
通信优先的CRM设计:DeskcommCRM如何用桌面工作台统一客户管理与沟通记录

通信优先的CRM设计:DeskcommCRM如何用桌面工作台统一客户管理与沟通记录

刚拿到“DeskcommCRM”这个项目名&#xff0c;可能很多人第一反应是又一个CRM&#xff08;客户关系管理&#xff09;系统。但拆开看就有意思了&#xff0c;Deskcomm&#xff0c;Desk加Comm&#xff0c;分别对应“桌面”和“通信”&#xff0c;所以它不是普通意义上的客户管理软…

2026/10/19 16:26:00 阅读更多 →
Kettle入门实战:从零完成CSV到数据库的ETL转换

Kettle入门实战:从零完成CSV到数据库的ETL转换

Kettle这个词&#xff0c;在搞数据的圈子里几乎就是ETL的代名词。哪怕这两年各种云上数据集成服务、大数据平台把数据同步包装得再花哨&#xff0c;很多公司内部跑得最稳的报表、数仓、接口对接&#xff0c;底子还是Kettle——也就是PDI&#xff08;Pentaho Data Integration&a…

2026/10/19 16:26:00 阅读更多 →
TMPGEnc 2.54.37.135:嵌入式视频转码的精准控制方案

TMPGEnc 2.54.37.135:嵌入式视频转码的精准控制方案

简介&#xff1a;TMPGEnc-2.54.37.135 是一款源自日本的专业级视频编码工具&#xff0c;面向视频编辑爱好者、DVD/蓝光制作人员及需要高质量MPEG格式转换的中高级用户&#xff0c;解决多格式视频向MPEG-1/MPEG-2/H.264高效、高保真压缩与适配输出的核心需求。资源包为ZIP格式&a…

2026/10/19 16:26:00 阅读更多 →
XAMPP本地开发环境搭建与配置避坑指南

XAMPP本地开发环境搭建与配置避坑指南

1. 为什么本地开发环境值得反复折腾刚入行那会儿&#xff0c;我最怕的不是写代码&#xff0c;而是配环境。一个项目跑不起来&#xff0c;排查半天发现是 PHP 版本对不上、MySQL 端口被占用、Apache 模块没开——这种坑踩一次记一辈子。后来带新人&#xff0c;发现大家卡的地方几…

2026/10/19 16:24:58 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介&#xff1a;本资源为电源技术方向的学术研究文档&#xff0c;聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略&#xff0c;面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址&#xff1a; https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集&#xff0c;共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →