LintCode133:最长单词

来源:互联网 发布:懒投资靠谱吗 知乎 编辑:程序博客网 时间:2024/06/03 16:13
在词典{  "dog",  "google",  "facebook",  "internationalization",  "blabla"}中, 最长的单词集合为 ["internationalization"]在词典{  "like",  "love",  "hate",  "yes"}中,最长的单词集合为 ["like", "love", "hate"]

代码如下

ArrayList<String> longestWords(String[] dictionary) {        // write your code here        ArrayList<String> list = new ArrayList<String>();        int i=0,j=0,a=0;         j=dictionary[0].length();         list.add(dictionary[0]);        for(i=0;i<dictionary.length-1;i++){            if (j==dictionary[i+1].length()) {                list.add(dictionary[i+1]);            }            if (j<dictionary[i+1].length()) {                j=dictionary[i+1].length();                list.removeAll(list);                list.add(dictionary[i+1]);            }        }        return list;    }

写的有些繁琐,但通俗易懂。
首先将第一个dictionary中的元素加入到list中,后判断dictionary后面的元素的长度是否的第一个长度相等,如果相等则继续加入。然后在一个判断dictionary后面的元素是否比前面的大,如果大就清空前面list中的内容后继续加入list。

0 0
原创粉丝点击