LeetCode [820] La palabra de compresión de codificación

título

Dada una lista de palabras, esta lista se codifica como un índice de la cadena S y una lista de índice A.
Por ejemplo, si la lista es [ "tiempo", "yo" , "campana"], que puede expresarse como S = "tiempo de campana # #" y los índices = [0, 2, 5 ].
Para cada índice, podemos empezar por la lectura del índice de la cadena de la cadena S en la posición hasta el final "#", para restaurar nuestra lista previa de las palabras.
A continuación, la longitud mínima de la cadena para el éxito de una lista de palabras de codificación determinada es ¿cuánto?

Ejemplo:

输入: words = ["time", "me", "bell"]
输出: 10
说明: S = "time#bell#" , indexes = [0, 2, 5] 。

consejos:

  • 1 <= words.length <= 2000
  • 1 <= palabras [i] .length <= 7
  • Cada palabra con una letra minúscula.

Un pensamiento: sufijo de almacenamiento

Todas las palabras en el conjunto, por juego para cada palabra, que atraviesan el sufijo para ver si en el conjunto, si se elimina, como el tiempo, entonces Traverse IME, yo, correo, me borro. Esto asegura que el conjunto de palabras que ya no se deja a la fusión, más el conjunto final para atravesar la longitud de cada palabra y #.

código

complejidad del tiempo: O ($ \ sum w_ { i} ^ 2 $), donde $ w_ {i} $ son las palabras [i] de longitud, cada palabra tiene $ w_ {i} $ sufijo, que se pregunta si las necesidades de valor hash para ajustarse O ($ w_ {i} $ ) se calcula.
la complejidad de las instalaciones: O ($ \ sum w_ { i} $), el espacio superior de almacenamiento de palabras.

class Solution {
public:
    int minimumLengthEncoding(vector<string>& words) {
        int res = 0;
        unordered_set<string> ust(words.begin(), words.end());
        for (string word : ust) {
            for (int i = 1; i < word.size(); ++i) {
                ust.erase(word.substr(i));
            }            
        }
        for (string word : ust) {
            res += word.size() + 1;
        }
        return res;
    }
};

Supongo que te gusta

Origin www.cnblogs.com/galaxy-hao/p/12590041.html
Recomendado
Clasificación