散列值范围

散列值范围,第1张

散列值范围

正如其他人所指出的那样,为此您将获得的最佳算法是O(log N),而不是O(1),并且在二等分搜索中通过排序列表进行搜索。

在Python中最简单的方法是使用

bisect
标准模块http://docs.python.org/library/bisect.html。请特别注意,在第8.5.2节中的示例中,进行数字表查找-
正是您正在执行的 *** 作:

>>> def grade(score, breakpoints=[60, 70, 80, 90], grades='FDCBA'):...     i = bisect(breakpoints, score)...     return grades[i]...>>> [grade(score) for score in [33, 99, 77, 70, 89, 90, 100]]['F', 'A', 'C', 'C', 'B', 'A', 'A']

grades
字符串替换为函数列表,将
breakpoints
列表替换为较低阈值列表,然后就可以了。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5617221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存