c*****n 发帖数: 123 | 1 给一个file path,把里面所有相同的文件都放到一起,把路径用List>
输出出来。
相同的定义式byte对比。
相同文件的文件名不一定一样,里面可能还会有sub folder
# Question:
#
# Find files that have the exact same contents in a given directory. Write a
function that takes a path and returns a list of lists or sets. Each set
should contain files that have the same content.
#
# An example output is for the input "/foo/" is:
# [
# ["/foo/bar.png", "/foo/images/foo.png"],
# ["/foo/file.tmp", "/foo/other.temp", "/foo/temp/baz/that.foo"]
# ]
#
求大牛前辈们指点!非常感谢! |
c******n 发帖数: 4965 | 2 MD5 has as key, dump into hash map, 我经常做这个事情, 在我的 laptop 和
server 之间 sync file
我觉得出这个题对有经验的人来说是太照顾了
a
【在 c*****n 的大作中提到】 : 给一个file path,把里面所有相同的文件都放到一起,把路径用List> : 输出出来。 : 相同的定义式byte对比。 : 相同文件的文件名不一定一样,里面可能还会有sub folder : # Question: : # : # Find files that have the exact same contents in a given directory. Write a : function that takes a path and returns a list of lists or sets. Each set : should contain files that have the same content. : #
|
k****r 发帖数: 807 | |
r****7 发帖数: 2282 | 4 md5很容易conflict,现在都用sha了
【在 c******n 的大作中提到】 : MD5 has as key, dump into hash map, 我经常做这个事情, 在我的 laptop 和 : server 之间 sync file : 我觉得出这个题对有经验的人来说是太照顾了 : : a
|
p****6 发帖数: 724 | 5
在这种use case下不容易conflict, 我知道的MD5是容易人为造出来collision,请指教
。
【在 r****7 的大作中提到】 : md5很容易conflict,现在都用sha了
|
D*******a 发帖数: 3688 | 6 follow up question: what if the files are very big and md5 is too slow.
【在 c******n 的大作中提到】 : MD5 has as key, dump into hash map, 我经常做这个事情, 在我的 laptop 和 : server 之间 sync file : 我觉得出这个题对有经验的人来说是太照顾了 : : a
|
b***e 发帖数: 1419 | 7 Randomly sample parts of the file.
【在 D*******a 的大作中提到】 : follow up question: what if the files are very big and md5 is too slow.
|
s********l 发帖数: 998 | 8 把文件 分成几个部分 并行 hash
hash function可以用其他lighter的 比如CRC16
行不?
【在 D*******a 的大作中提到】 : follow up question: what if the files are very big and md5 is too slow.
|
T*******e 发帖数: 4928 | 9 其实题本身就提示了。size then checksum. |
c*****n 发帖数: 123 | |
c*****n 发帖数: 123 | 11 在glassdoor上看到别人的解答,觉得思路挺好的,供大家参考。
Your solution needs to be tackle a couple of problems: obtaining a list of
all the files in the file system (e.g. via DFS), binning the lists into
possible matches, repeat via swappable heuristics until your certainty is
100%. (eg size 1st, md5 2nd, byte stream 3rd)
a
【在 c*****n 的大作中提到】 : 给一个file path,把里面所有相同的文件都放到一起,把路径用List> : 输出出来。 : 相同的定义式byte对比。 : 相同文件的文件名不一定一样,里面可能还会有sub folder : # Question: : # : # Find files that have the exact same contents in a given directory. Write a : function that takes a path and returns a list of lists or sets. Each set : should contain files that have the same content. : #
|