LC: 271. Encode and Decode Strings
https://leetcode.com/problems/encode-and-decode-strings/
271. Encode and Decode Strings
Design an algorithm to encode a list of strings to a string. The encoded string is then sent over the network and is decoded back to the original list of strings.
Machine 1 (sender) has the function:
string encode(vector<string> strs) {
// ... your code
return encoded_string;
}Machine 2 (receiver) has the function:
vector<string> decode(string s) {
//... your code
return strs;
}So Machine 1 does:
string encoded_string = encode(strs);and Machine 2 does:
vector<string> strs2 = decode(encoded_string);strs2 in Machine 2 should be the same as strs in Machine 1.
Implement the encode and decode methods.
You are not allowed to solve the problem using any serialize methods (such as eval).
Example 1:
Example 2:
Constraints:
1 <= strs.length <= 2000 <= strs[i].length <= 200strs[i]contains any possible characters out of256valid ASCII characters.
Follow up: Could you write a generalized algorithm to work on any possible set of characters?
The Essence:
Die wichtige Tatsache hier ist die Kommunikation zweier Systeme als Verschlüsseler und Entschlüsseler. Das Ausgangssystem soll zwei Zeichenfolge auf eine solche Weise verzerrungsfrei verschlüsseln, dass der Empfänger es eindeutig entschlüsseln. Die intuitive Methode ist die Zufügung der Trennzeichen zwischen Wörter.
Details:
Da in den Strings ASCII-Zeichen verwendet werden können, ist die Verwendung von Zeichen wie '#' nicht direkt möglich. Es gibt Möglichkeiten, dies zu umgehen. Da es hier um ein offenes Designproblem handelt, kann eine Vielfalt der Ansätze benutzt werden, um die Lösung zu erreichen. Die Problemlöser sollen hier ihre Kreativität anwenden.
Solution(s) and Further Explanation:
Default Code:
Last updated