如何找出字典中的兄弟单词
来源:互联网 发布:It may______her 编辑:程序博客网 时间:2024/05/16 10:16
给定一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的兄弟单词。现在给定一个字典,用户输入一个单词,如何根据字典找出这个单词有多少个兄弟单词?
答案:
使用hash_map和链表。
首先定义一个key,使得兄弟单词有相同的key,不是兄弟的单词有不同的key。例如,将单词按字母从小到大重新排序后作为其key,比如bad的key为abd,good的key为dgoo。
使用链表将所有兄弟单词串在一起,hash_map的key为单词的key,value为链表的起始地址。
开始时,先遍历字典,将每个单词都按照key加入到对应的链表当中。当需要找兄弟单词时,只需求取这个单词的key,然后到hash_map中找到对应的链表即可。
这样创建hash_map时时间复杂度为O(n),查找兄弟单词时时间复杂度是O(1)。
- 如何找出字典中的兄弟单词...
- 如何找出字典中的兄弟单词
- 如何找出字典中的兄弟单词
- 如何找出字典中的兄弟单词
- 如何找出字典中的兄弟单词
- 如何找出字典中的兄弟单词
- 如何找出字典中的兄弟单词
- 找出字典中的兄弟单词
- 找出字典中的兄弟单词
- finding anagrams(颠倒字母而成的字) of a given word; 编程珠玑之如何找出一个单词的换位词; 如何找出字典中的兄弟单词
- finding anagrams(颠倒字母而成的字) of a given word; 编程珠玑之如何找出一个单词的换位词; 如何找出字典中的兄弟单词
- 用户输入一个单词,要求在一个字典中找出该单词的所有兄弟单词,并输出
- 用户输入一个单词,要求在一个字典中找出该单词的所有兄弟单词,并输出
- 在字典中查找兄弟单词
- 给你一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的兄弟单词。现在给你一个字典,用户输入一个单词,让你根据字典找出这个单词有多少个兄弟单词。
- 给定一个字符串列表,找出单词中最长单词,可以用l列表中的其他单词一次构建一个字符。返回具有最小字典顺序的最长单词。
- 百度面试题--给定一个单词,从字典查找该单词的所有兄弟单词
- 兄弟单词
- 找出1到10w中没有出现的两个数字
- C++中的函数指针的一些总结
- java读写文件大全
- 海量日志数据,提取出某日访问百度次数最多的那个IP。
- 使用Open Flash Chart2快速生成报表
- 如何找出字典中的兄弟单词
- Canvas绘图学习
- solaris常用命令总结
- 从两个文件(各含50亿个url)中找出共同的url
- 从300万字符串中找到最热门的10条
- 【实战】Oracle11g用户密码不区分大小写
- reStructuredText:所见即所得的文本标记语法解析工具
- 修改DWZ中文本框的提示信息透明度
- 谈JS中匿名函数的上下文环境