zoukankan      html  css  js  c++  java
  • [leetcode-648-Replace Words]

    In English, we have a concept called root, which can be followed by some other words to form another longer word - let's call this word successor. For example, the root an, followed by other, which can form another word another.

    Now, given a dictionary consisting of many roots and a sentence. You need to replace all the successor in the sentence with the root forming it. If a successor has many roots can form it, replace it with the root with the shortest length.

    You need to output the sentence after the replacement.

    Example 1:

    Input: dict = ["cat", "bat", "rat"]
    sentence = "the cattle was rattled by the battery"
    Output: "the cat was rat by the bat"
    

    Note:

    1. The input will only have lower-case letters.
    2. 1 <= dict words number <= 1000
    3. 1 <= sentence words number <= 1000
    4. 1 <= root length <= 100
    5. 1 <= sentence words length <= 1000

    思路:

    思路很朴素,就是将句子里每一个单词从到尾求子串,如果这个子串出现在了dict里,那么就把这个单词替换掉。

    string replaceWords(vector<string>& dict, string sentence)
        {
            map<string, string>mpdic;
            for (auto s : dict)mpdic[s] = s;
            vector<string>word;
            stringstream ss(sentence);
            string tmp;
            while (ss >> tmp)word.push_back(tmp);
            for (auto &str : word)
            {
                for (int i = 1; i < str.length();i++)
                {
                    if (mpdic.count(str.substr(0,i)))
                    {
                        str = str.substr(0, i);
                        break;
                    }
                }
            }
            string ret = word[0];
            for (int i = 1; i < word.size();i++)ret += " " + word[i];
            return ret;        
        }
  • 相关阅读:
    python+selenium之页面元素截图
    selenium八大定位
    http概述之URL与资源
    数组中只出现一次的数字
    数字在排序数组中出现的次数
    把数组排成最小的数
    数组中出现次数超过一半的数字
    调整数组顺序使得奇数位于偶数的前面
    旋转数组的最小值
    二维数组的查找
  • 原文地址:https://www.cnblogs.com/hellowooorld/p/7229681.html
Copyright © 2011-2022 走看看