Skip to content

AdaGold/encode-repeating

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Encode Repeating

In this assignment, you'll design and implement one of the common string manipulation functions. Remember that a string is an array of characters. Algorithms that worked on array data structure will work on strings as well.

Exercise

  • Design and implement a method that updates the string by replacing consecutive repeating characters with a number representing the frequency. The replacement is done only if the string length will get reduced by the process. In addition to .length, you may use .slice! to implement this method.
    • e.g "aaabbbbbcccc" will get replaced to "a3b5c4", since a is repeated 3 times, b is repeated 5 times and c is repeated 4 times
    • "xxxyttttgeee" will get replaced with "x3yt4ge3". y and g do not get replaced by y1 and g1 since that will increase the length of the string.
    • "ddbbfffgjjjj" will get replaced with "ddbbf3gj4". dd and bb do not get replaced since the length will remain the same with d2 and b2. g does not get replaced with g1 since that will increase the length.
  • Share and explain the time and space complexities for your solution in the comments above the method.
    • If you define the complexities in terms of n, be sure to explain what n stands for.

Note: Do not use Ruby provided functionality for .reverse and .reverse!. You may use .length and .slice! to implement this method.

Further reading: Read further on Run-length encoding (RLE), the simple form of loss-less data compression that this assignment is based on.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages