Search⌘ K
AI Features

Solution: Find Duplicate File in System

Learn how to find duplicate files in a system by leveraging hash maps to group files based on their content. This lesson guides you through parsing directory information, storing file paths and contents, and identifying duplicates efficiently. Understand the algorithm to solve this problem with optimal time and space complexity, strengthening your coding interview preparation.

Statement

Given a list of directory information named paths, where each directory contains file paths and their respective contents, identify all the duplicate files in the system based on their contents. Each duplicate group should contain at least two files with identical content, and the output should list these groups with the full paths of the duplicate files. Each entry in the input list is formatted as follows:

"root_directory/dir_1/dir_2/…/dir_m file_1.txt(file_1_content) file_2.txt(file_2_content) … file_n.txt(file_n_content)"

This indicates there are n files (file_1.txt, file_2.txt, …, file_n.txt) with respective contents (file_1_content, file_2_content, …, file_n_content) in the directory "root_directory/dir_1/dir_2/…/dir_m". The output should be a list of groups containing the paths of files sharing the same content. Each file path should follow the format given below:

"directory_path/file_name.txt".

The order of the groups or the paths within them does not matter.

Constraints:

  • 11 \leq paths.length \leq 2×1042 \times 10^4 ...