Design File System

Try to solve the Design File System problem.

Statement

Design a file system that allows us to create new paths and associate them with different values. A path has one or more concatenated strings of the form / followed by one or more lowercase English letters. For example, valid paths include "/educative" and "/educative/problems", while an empty string "" and "/" are not valid paths.

Implement the FileSystem struct with the following functions:

  • NewFileSystem(): Initializes the object of the system.

  • bool CreatePath(string path, int value): This function creates a new path and associates a value to it if possible and returns TRUE. It returns FALSE if the path already exists or if its parent path doesn’t exist.

  • int Get(string path): This function returns the value associated with the path or returns -11 if the path doesn’t exist.

Constraints:

  • The total number of calls to the two functions are ≤\leq 10310^3.
  • 2≤2 \leq path.length ≤100\leq 100
  • 1≤1 \leq value ≤109\leq 10^9

Examples

Level up your interview prep. Join Educative to access 80+ hands-on prep courses.