Your question is String Difference Function. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
Accretive Technology Group's code-review surface needs a deterministic way to display how one text revision differs from another. Given two strings, produce an ordered character-level edit script that transforms the first string into the second.
Return a list of operations represented as two-element lists: [operation, text]. The operation must be one of "equal", "delete", or "insert". Consecutive characters with the same operation should be combined into one item. The result must preserve the order of both strings and use a minimum number of character insertions and deletions. Replacing a character is represented as a deletion followed by an insertion.
Implement string_diff(old, new), where both inputs are strings. Return a list of [operation, text] lists. Applying equal and delete text to old, while ignoring insert text, must reproduce the original string. Applying equal and insert text, while ignoring delete text, must reproduce new.
def string_diff(old, new):