public class Solution
{
public string LongestWord(string[] words)
{
var maxlist = new List<string>(); var dic = new Dictionary<string, string>();
Queue<string> Q = new Queue<string>();
var maxstr = ""; foreach (var word in words)
{
var temp = word;
if (!dic.ContainsKey(temp))
{
dic.Add(temp, temp.Substring(, temp.Length - ));
}
}
var list = dic.OrderByDescending(x => x.Key.Length).ToList(); foreach (var l in list)
{
var cur = l.Key;
if (cur.Length < maxstr.Length)
{
continue;
} Q.Enqueue(cur);
var len = cur.Length;
while (Q.Any())
{
len--;
var temp = Q.Dequeue();
var subtemp = temp.Substring(, temp.Length - );
if (dic.ContainsKey(subtemp))
{
Q.Enqueue(subtemp);
}
} if (len == )
{
maxlist.Add(cur);
maxstr = cur;
}
} var result = maxlist.OrderBy(x => x).ToList().FirstOrDefault();
return result;
}
}

leetcode720的更多相关文章

  1. [Swift]LeetCode720. 词典中最长的单词 | Longest Word in Dictionary

    Given a list of strings words representing an English Dictionary, find the longest word in words tha ...

  2. Leetcode720.Longest Word in Dictionary词典中最长的单词

    给出一个字符串数组words组成的一本英语词典.从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成.若其中有多个可行的答案,则返回答案中字典序最小的单词. 若无答案,则返回 ...

随机推荐

  1. ueditor编辑器【实际项目使用】

    [页面效果] [代码] 说明: ueditor插件的公共代码: 如果是一个可以放在对应模块的js代码中   如果有多个就要提到全局的高度(即提到公共部分) <script type=" ...

  2. BZOJ4292 PA2015 Równanie 【暴力水题】

    BZOJ4292 PA2015 Równanie Description 对于一个正整数n,定义f(n)为它十进制下每一位数字的平方的和.现在给定三个正整数k,a,b,请求出满足a<=n< ...

  3. Codeforces 28C Bath Queue 【计数类DP】*

    Codeforces 28C Bath Queue LINK 简要题意:有 n 个人等概率随机进入 m 个房间,一个房间可以有多个人,第 i 个房间有 ai 个水龙头,在一个房间的人要去排队装水,他们 ...

  4. 简单实现Jmail发送邮件

    package com.chauvet.util; import java.util.Properties; import javax.mail.*; import javax.mail.intern ...

  5. vue-router教程二(要素篇之新手入门)

    注意,我们将在指南中使用es 2015代码样本.此外,所有示例都将使用VUE的完整版本来使在线模板编译成为可能.请参阅这里的更多细节. 用vue路由器创建单页应用程序是非常简单的.使用vue.js,我 ...

  6. Vim使用YouCompleteMe达到类似IDE的代码提示、补全,以及其他实用设置

    接触Linux有两年了,vim还是只会简单的操作.最近实在受不了sublime的代码提示,决定花点时间来配置下vim.本文讲自己认为方便的vim配置,称不上完美,只讲究简单实用. 使用 ctags 主 ...

  7. redis+php微博功能的redis数据结构设计总结(四)

    概述: 1.完全采用redis作为数据库实现微博的登录2.发布3.微博的显示4.实现整个功能使用了redis的string,list,hashes四个数据类型,以及string类型的数值自增功能 一. ...

  8. ubuntu :安装skype聊天工具

    如题,今天就想搞个软件在ubuntu能聊天,查一下skype,好像网上有人说不是每个安装包都用的了,skype-ubuntu-precise_4.2.0.13-1_i386.deb可以, 我在微盘下载 ...

  9. TMS320C6657双核DSP的图像处理系统开发(1):硬件相关tips

             1.前言 新项目中打算对现有的TMS320C6455+Kintex7 FPGA平台进行升级,采用TMS320C6657作为新核心,主要考虑到几点点: 1)具备DDR3接口,可以更加方 ...

  10. appium+python自动化32-android_uiautomator定位进阶版

    前言 上一篇介绍uiautomator的定位方式都是类似这种'new UiSelector().xxx("xxx")',看起非常长,我也记不住,这很不python.于是本篇优化了定 ...