最长单词
来源:互联网 发布:js面向对象视频 编辑:程序博客网 时间:2024/05/18 03:22
最长单词
题目描述:
给一个词典,找出其中所有最长的单词。
{
“dog”,
“google”,
“facebook”,
“internationalization”,
“blabla”
}
中, 最长的单词集合为 [“internationalization”]
在词典
{
“like”,
“love”,
“hate”,
“yes”
}
中,最长的单词集合为 [“like”, “love”, “hate”]
解题思路:
version 1:
题目中所描述的问题无非就是在给定的数组中找到所有最大值的索引,第一个版本,遍历两遍,这个很好想。
第一次遍历找出最大值,第二次遍历与最大值进行比较,将相等位置的索引记录下来;
version2:
相比于version1,此版本的解法只需要一次遍历即可,初始化max_value;如果比最大值大,则先清空存储位置索引的数组,如果和最大值相等,则记录该位置;
vector<string> longestWords(vector<string> &dictionary) { // write your code here vector<string> result_vec; if (dictionary.empty()) { return result_vec; } //用来存放最大值所出现的位置,初始化为其实位置 vector<int> pos_vec; pos_vec.push_back(0); //初始化其实位置的单词长度最大 int max_length = dictionary[0].size(); for (size_t i = 1; i < dictionary.size(); i++) { //如果出现了更大的值,则先将pos_vec清空后重新赋值 if (max_length < dictionary[i].size()) { max_length = dictionary[i].size(); pos_vec.clear(); } if (max_length == dictionary[i].size()) { pos_vec.push_back(i); } } for (size_t i = 0; i < pos_vec.size(); i++) { result_vec.push_back(dictionary[pos_vec[i]]); } return result_vec; }
0 0
- 最长单词
- 最长单词
- 最长单词
- 最长单词
- 最长单词
- 最长单词
- 最长单词
- 字符串搜索最长单词
- openjudge最长单词
- 统计最长的单词
- 最长最短单词
- 最长组合单词
- 查找最长单词
- 【Openjudge】最长单词2
- 最长单词2
- 输出最长的单词
- 最长的单词
- 题目:最长单词
- 如何在Github里面的README.md里面插入图片
- 最懂安全的应用交付
- JavaWeb日记——当springmvc遇上swagger2
- 杭电 hdu 2068. RPG的错排
- Maven学习总结(33)——解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME envi
- 最长单词
- 数字三角形 Number Triangles(顺推)
- Caffe中每一层的参数配置
- Jquery的loading插件
- 大数据
- ORACLE日期时间函数大全
- android MockView源码下载地址
- 1996年分区联赛提高组之三 挖地雷
- Quartz使用示例总结