Coderpad round of 75 mins
You are given a sequence of characters, representing a series of steps. You need to find the minimum number of characters required to encode this sequence using a special "repeat from the beginning" instruction, denoted by '*'.
The '' instruction means that the currently encoded prefix should be repeated from its beginning. For example, if you have encoded "AB", then "AB" would expand to "ABAB". If you have encoded "ABC", then "ABC*" would expand to "ABCABC". This repeat instruction can be applied multiple times implicitly (e.g., 'A*' for 'AAA').
Your task is to write a function that takes the un-encoded sequence as input and returns the minimum number of characters required to encode it.
Example:
Consider the sequence "A, B, A, B, C, A, B, A, B, C, D".
This can be encoded as "ABCD" which has a length of 6 characters.
We can name the problem as: MINIMUM ENCODING LENGTH