LintCode: Longest Words

简介:

C++

复制代码
 1 class Solution {
 2 public:
 3     /**
 4      * @param dictionary: a vector of strings
 5      * @return: a vector of strings
 6      */
 7     vector<string> longestWords(vector<string> &dictionary) {
 8         // write your code here
 9         if (dictionary.size() <= 1) {
10             return dictionary;
11         }
12         
13         vector<string> result;
14         int max_len = 0, cur_len;
15         
16         for (int i=0; i<dictionary.size(); i++) {
17             cur_len = dictionary[i].size();
18             if(cur_len < max_len) {
19                 continue;
20             }
21             if(cur_len > max_len) {
22                 result.clear();
23                 max_len = cur_len;
24             }
25             result.push_back(dictionary[i]);
26         }
27         return result;
28     }
29 };
复制代码

 


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/4999501.html,如需转载请自行联系原作者

相关文章
Leetcode 516. Longest Palindromic Subsequence
找到一个字符串的最长回文子序列,这里注意回文子串和回文序列的区别。子序列不要求连续,子串(substring)是要求连续的。leetcode 5. Longest Palindromic Substring就是求连续子串的。
58 0
|
3月前
|
算法
动态规划算法学习四:最大上升子序列问题(LIS:Longest Increasing Subsequence)
这篇文章介绍了动态规划算法中解决最大上升子序列问题(LIS)的方法,包括问题的描述、动态规划的步骤、状态表示、递推方程、计算最优值以及优化方法,如非动态规划的二分法。
85 0
动态规划算法学习四:最大上升子序列问题(LIS:Longest Increasing Subsequence)
|
算法
LeetCode 300. Longest Increasing Subsequence
给定一个无序的整数数组,找到其中最长上升子序列的长度。
58 0
LeetCode 300. Longest Increasing Subsequence
|
人工智能 C++ 索引