Feature #4: Compress File
Implementing the "Compress File" feature for our "Operating System" project.
We'll cover the following
Description
We have to come up with a compression strategy for text files that store our system’s information. Here is our strategy: whenever we see a word in a file composed as a concatenation of other smaller words in the same file, we will encode it with the smaller words’ IDs. For example, if we have the words n
, cat
, cats
, dog
, and catsndog
in a text file. The word catsndog
is the concatenation of the words n
, cats
, and dog
, so we can assign it an ID.
This way, instead of storing the entire catsndog
word as is, we are storing an ID that takes much less space.
We’ll be provided an array of strings representing all the words from a text file. Our task will be to identify and isolate all the concatenated words.
Level up your interview prep. Join Educative to access 80+ hands-on prep courses.