当前位置: 首页 > 网络应用技术

668.乘法表中的K小数:经典的“两个点 +计数判断”使用问题

时间:2023-03-06 19:27:27 网络应用技术

  这是668中的K小数。左代码上的乘法表很难。

  标签:“两个点”,“计数”

  几乎每个人都使用乘法表,但是您能在乘法表单中快速找到$ k $小数的数量吗?

  给定$ m $ m $的乘法表,宽度$ n $ n $和一个正整数$ k $,您需要返回表$ k $中的小数字。

  示例1:

  示例2:

  注意:

  由于$ n $和$ m $的数据范围是$ 3 IMES 10^4 $,因此总数本身超过$ 10^7 $。

  该主题要求我们以一个维度序列找到有序序列中的最小数字数量。问题本身是“次要的”:

  我们考虑如何执行“两个点答案”:假设我们的两个点得分的当前值为$中$。对于乘法表中的每个行和列,它是单调的。$小的数字记录为$ a $。累积统计数据等于每行/列中$中$的数量。

  具体而言,假设我们可以通过枚举计算$ A $ A和$ B $,那么当前列举的行号为$ i $(行号从$ 1 $开始),并且该行的最大数量为$ IMES M $:

  一些详细信息:由于乘法表是对称的,因此我们可以在线和列中穿越较小的党派。

  代码:

  这是我们“通过Leetcode”系列的第一篇文章。该系列始于2021/01/01。从开始开始时的起始代码开始,总共有1916年的问题。该主题已经完成。

  在这一系列文章中,除了解释问题 - 解决想法之外,还将尽可能多地提供最简洁的代码。如果涉及通信,将有相应的代码模板。

  为了使学生更容易在计算机上调试和提交代码,我建立了一个相关的仓库:https://github.com/sharingsource/logicstack-letcode。

  在仓库地址中,您可以看到一系列文章的解释链接,一系列文章的相应代码,leetcode的原始链接以及其他首选解决方案。

  原始:https://juejin.cn/post/7098892656813539365