I cannot find my mistake. It works on my computer


  • 0
    M

    Could someone help me? I managed to do it in my computer, including the critical input: [""], 2
    Which makes Runtime Error.

    class Solution{

    public:
    
    vector<string> fullJustify(vector<string>& words, int maxWidth)
    
    {
        vector<string> answer;
        int j = 0;
        int i;
        
        if(maxWidth > 0)//Para casos que a resposta deve ser vazia, já pula o processo todo
        {
            for(i = 0; i < words.size();i++)
            //aqui o programa coloca as palavras na minha resposta separadas por um espaço em linhas de tamanho máximo = L
            {
                answer.push_back(words[i]);//o tamanho da palavra nunca excede L, entao a primeira palavra sempre entra na linha
                i++;
                while(answer[j].size() + words[i].size() + 1 <= maxWidth && i < words.size())//+1 para caber o espaco
                {
                    answer[j].append(" "+words[i]);
                    i++;
                }
                i--;
                j++;
            }
        
            for(j = 0; j < answer.size(); j++)//para cada linha da minha resposta
            {
                while (answer[j].size() < maxWidth )//adiciona os espaços ao longo da linha até a linha ter tamanho L
                {
                    if(j == answer.size() - 1)//condicao especial para a ultima linha
                    {
                        while(answer[j].size() < maxWidth)//insere espacos até acabar a linha
                        {
                            answer[j].insert(answer[j][i]," ");
                        }
                        break;
                    }
                    for(i = 0; i < answer[j].size();i++)
                    {
                        if(answer[j].size() >= maxWidth ) break;
                        if (answer[j][i] == ' ' && answer[j][i+1] != ' ')//toda vez que encontra um espaco anterior a uma letra
                        {
                            answer[j].insert(i+1, " ");
                            i++;
                        }
                    }
                }
            
            }
        }
        return answer;
    }
    

    };


Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.