初级
用bisect实现哈希环查找
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve(nodes, key):
import bisect
import hashlib
nodes = nodes.split(',') if isinstance(nodes, str) else nodes
node_hashes = sorted([(hashlib.sha256(n.encode()).hexdigest(), n) for n in nodes])
key_hash = hashlib.sha256(key.encode()).hexdigest()
hashes = [h for h, n in node_hashes]
idx = bisect.bisect_left(hashes, key_hash)
if idx >= len(hashes):
idx = 0
print(node_hashes[idx][1])
示例
输入
solve('node1,node2,node3', 'key1')
期望输出
node1
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199