博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【leetcode】668. Kth Smallest Number in Multiplication Table
阅读量:6918 次
发布时间:2019-06-27

本文共 837 字,大约阅读时间需要 2 分钟。

题目如下:

解题思路:几乎和 的方法一样。只不过一个是减法一个是乘法,还有一点区别是中i-j和j-i只算一个元素,而本题中i*j与j*i算两个元素。

代码如下:

class Solution(object):    def findKthNumber(self, m, n, k):        """        :type m: int        :type n: int        :type k: int        :rtype: int        """        low,high = 1, m*n        while low <= high:            mid = (low + high) / 2            less,equal = 0,0            for i in range(1,min(mid+1,m+1)):                less += min(mid/i,n)                if mid/i <= n and mid % i == 0:                    equal += 1                    less -= 1            if less >= k:                high = mid - 1            elif less + equal < k:                low = mid + 1            elif less == k and equal == 0:                high = mid - 1            else:                break        return mid

 

转载于:https://www.cnblogs.com/seyjs/p/9604157.html

你可能感兴趣的文章
OpenERP安装定制过程实录
查看>>
分享一下我的vim配置
查看>>
Exchange Server如何检查服务器版本号
查看>>
01-SCOM 2012 R2 安装前准备
查看>>
sed对文本内容进行添加和删除
查看>>
Zookeeper初遇
查看>>
关于windows 双网卡和跃点数研究
查看>>
Android 建立文件夹、生成文件并写入文本文件内容
查看>>
三大特性与数据类型
查看>>
Linux安装配置***服务器
查看>>
hibernate4之 配置(一)
查看>>
安装grub的两种方法
查看>>
Centos6.5源码搭建SVN+Apache
查看>>
动态规划求组合系数
查看>>
SpringFramework之Servlet的request path
查看>>
filebeat导入Hadoop日志到Elasticsearch中
查看>>
LAMP平台部署及应用(2)——部署phpMyAdmin系统
查看>>
centos 开机启动服务设置
查看>>
HashMap源码分析
查看>>
$.ajax()方法详解
查看>>