diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/RemoveSubFolders.java b/src/main/java/com/thealgorithms/dynamicprogramming/RemoveSubFolders.java new file mode 100644 index 000000000000..1c7d570aed95 --- /dev/null +++ b/src/main/java/com/thealgorithms/dynamicprogramming/RemoveSubFolders.java @@ -0,0 +1,28 @@ +package com.thealgorithms.dynamicprogramming; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +public class RemoveSubFolders { + + public static List removeSubfolders(String[] folder) { + Arrays.sort(folder); + List result = new ArrayList<>(); + String prev = " "; + for (String f : folder) { + if (!f.startsWith(prev)) { + result.add(f); + prev = f + "/"; + } + } + return result; + } + + public static void main(String[] args) { + String[] folder = {"/a","/a/b","/c/d","/c/d/e","/c/f"}; + List result = removeSubfolders(folder); + System.out.println(result); // Output: ["/a", "/c/d", "/c/f"] + } +}