LC: 471. Encode String with Shortest Length
https://leetcode.com/problems/encode-string-with-shortest-length/
471. Encode String with Shortest Length
Given a string s, encode the string such that its encoded length is the shortest.
The encoding rule is: k[encoded_string], where the encoded_string inside the square brackets is being repeated exactly k times. k should be a positive integer.
If an encoding process does not make the string shorter, then do not encode it. If there are several solutions, return any of them.
Example 1:
Input: s = "aaa"
Output: "aaa"
Explanation: There is no way to encode it such that it is shorter than the input string, so we do not encode it.Example 2:
Input: s = "aaaaa"
Output: "5[a]"
Explanation: "5[a]" is shorter than "aaaaa" by 1 character.Example 3:
Input: s = "aaaaaaaaaa"
Output: "10[a]"
Explanation: "a9[a]" or "9[a]a" are also valid solutions, both of them have the same length = 5, which is the same as "10[a]".Example 4:
Input: s = "aabcaabcd"
Output: "2[aabc]d"
Explanation: "aabc" occurs twice, so one answer can be "2[aabc]d".Example 5:
471. Encode String with Shortest Length:
Wenn wir Wörter wie ["a", "b", "c", "cx", "cy"] haben, können wir daraus schließen: c kommt nach b, b kommt nach a, y kommt nach x. Dies alles sollte uns vor allem an die Nachfolgerbeziehung von gerichteten Graphen erinnern. Wenn wir einen Graphen dieser Buchstabenbeziehungen erstellen können, können wir den Graphenen einfach topologisch sortieren, um die lexikographische Ordnung zu erhalten.
Details:
Detaillierte Erläuterungen und Umsetzungen entnehmen Sie bitte dem entsprechenden PR.
Solutions:
Default Code:
Last updated