个人幸运数字查询(京东2017秋招真题)

谈风水 281 0

题目在京东秋招平台上有公布,找不到的朋友可以问我哦。

我们将通过这道题学习索引的初步知识,并利用python自带的dict(),建立一个数据库查询雏形。

模块分为:二进制计数、十进制计数、数据I/O与查询。

个人幸运数字查询(京东2017秋招真题)-第1张图片

take is cheap,we will show the code.

计数实现

个人幸运数字查询(京东2017秋招真题)-第2张图片

二进制计数

个人幸运数字查询(京东2017秋招真题)-第3张图片

&为异或,>>为移位,这部分语法的详细介绍由于以前写过,我会在文末放传送门,有需要的可以goto一下。

十进制计数

%为整除,典型的辗转相除法,更多细节也请使用传送门。

数据I/O与查询

这道题的难点就在这里,对性能的要求比较高,重复计算不能满足对复杂度的要求。

于是我们穷举出所有的答案,并存储在dict()类型的ans内。

然后在需要时进行查询,所有计算只执行一次,将算法复杂度降低了一个n。当数据更加离散的时候我们还可以使用其他方式建立二级索引。

&和>>奇虎360 17春招真题python详解 偶串

辗转相除 京东17秋招真题python详解 进制均值


求收藏求关注,觉得好请支持

抱歉,评论功能暂时关闭!