Загрузка...

Блокировка слов, на сколько правильна написан код?

Тема в разделе C/C++ создана пользователем RDMR 29 мар 2022. 227 просмотров

  1. RDMR
    RDMR Автор темы 29 мар 2022 Заблокирован(а) 658 17 апр 2018
    Приветствую, если смотреть на эту код, его можно как-то оптимизировать, сделать чуточку правильно?

    #include <vector>
    #include <algorithm>
    #include <iostream>

    using namespace std;

    int main()
    {
    cout << "Hello World!\n";

    vector<string> disliked = {"Niggers", "Nigger", "Nig", "Nigga" , "Nigg" };
    vector<string> words;
    for ( string temp; cin >> temp;) {

    words.push_back(temp);

    cout << "Number word " << words.size() << '\n';

    }

    sort(words.begin(), words.end());


    for (int i=0; i < words.size(); i++) {
    for(int beep = 0; beep < disliked.size(); beep++)
    if (words[i] == disliked[beep])
    {
    words[i] = "Beep";
    }
    }
    for (int i = 0; i < words.size(); i++) {
    cout << words[i] << "\n";
    }
    }

     
  2. vtlstolyarov
    vtlstolyarov 29 мар 2022 468 8 янв 2022
    Можно, причём дохера чего.
     
    1. Посмотреть предыдущие комментарии (7)
    2. vtlstolyarov
      RDMR, в гугле навалом инфы. да - оно будет быстрее (НА БОЛЬШИХ ОБЪЁМАХ ДАННЫХ) - у hashset (или напрмер у дерева построенного из букв искомых слов) время поиска O(1), а у массива время поиска O(n)

      Не факт что тебе это важно конкретно в твоём задании, но в принципе есть такая оптимизация.
    3. RDMR Автор темы
Top
Загрузка...