V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  tslearn  ›  全部回复第 1 页 / 共 1 页
回复总数  1
看看这种方法行不 (假设 Name 支持任意字符)

将文件分片
1 ) 选取一个质数作为分片的值 (例如 977 )
2 ) 将 A 文件和 B 文件分片, 要保证相同的名字在相同的分片号, 且分片尽可能均匀
我帮你想到的一个合理的办法: 取 Name 的 UTF8 。 如果 UTF8 长度不能被 4 整除,则添 0 将数组长度补成 4 的倍数。
每四个字节映射为一个 int32 类型, 然后把这些 int32 加起来。 然后%977 (一个比较大的指数)。 这样会得到 0-966 中的一个值。
3 ) 你的问题化简成了在分片内的问题 (因为相同的名字对应相同的分片)
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1303 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 9ms · UTC 17:53 · PVG 01:53 · LAX 09:53 · JFK 12:53
Developed with CodeLauncher
♥ Do have faith in what you're doing.