LintCode 133. 最长单词

Posted zslhg903

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LintCode 133. 最长单词相关的知识,希望对你有一定的参考价值。

给一个词典,找出其中所有最长的单词。

 

样例

在词典

{
  "dog",
  "google",
  "facebook",
  "internationalization",
  "blabla"
}

中, 最长的单词集合为 ["internationalization"]

在词典

{
  "like",
  "love",
  "hate",
  "yes"
}

中,最长的单词集合为 ["like", "love", "hate"]

 

class Solution {
public:
    /*
     * @param dictionary: an array of strings
     * @return: an arraylist of strings
     */
    vector<string> longestWords(vector<string> &d) {
        // write your code here
        vector<string> res;
        int sz=d.size();
        if(sz==0)
        {
            return res;
        }
        int max=d[0].size();
        res.push_back(d[0]);
        for(int i=1;i<sz;i++)
        {
            int strSz=d[i].size();
            if(max<strSz)
            {
                max=strSz;
                res.clear();
                res.push_back(d[i]);
            }
            else if(max==strSz)
            {
                res.push_back(d[i]);
            }
        }
        return res;
    }
};

 

以上是关于LintCode 133. 最长单词的主要内容,如果未能解决你的问题,请参考以下文章

LintCode题解之最长单词

NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段

Lintcode--010(最长上升子序列)

lintcode:单词切分

lintcode_78最长公共前缀

lintcode_79最长公共字串