随机了一个题目:

  给一个词典,找出其中所有最长的单词。

这道题对于初学者还是很有用的,毕竟用的逻辑是比较复杂的

样例

在词典

{
"dog",
"google",
"facebook",
"internationalization",
"blabla"
}

中, 最长的单词集合为 ["internationalization"]

在词典

{
"like",
"love",
"hate",
"yes"
}

中,最长的单词集合为 ["like", "love", "hate"]

首先:  新建一个main方法

 public class charSolution {

     public static void main(String[] args) {
String[] strs={
"like",
"love",
"hate",
"yes",
"ssss"
};
ArrayList<String> strss=longestWords(strs); for(String s:strss){
System.out.println(s);
}
}

再者:我们要做的就是一个逻辑了

1.先立一个flag,在这边我们就用字符串的长度,默认设置int longs=0;

2.做逻辑,循环我们的list,判断泛型String的长度,和longs对比

  2.1 相等,把String对象存进list集合

  2.2 大于longs,把list集合所有对象清除,并把当前对象存进集合

  2.3 小于longs,不做操作

3.return list

 public static ArrayList<String> longestWords(String[] dictionary) {

         List<String> strs=new ArrayList<String>();
int longs=0;
for(int i=0;i<dictionary.length;i++){
if(i==0){
strs.add(dictionary[i]);
longs=dictionary[i].length();
}else{
if(dictionary[i].length()==longs){
strs.add(dictionary[i]);
}else if(dictionary[i].length()>longs){
strs.removeAll(strs);
strs.add(dictionary[i]);
longs=dictionary[i].length();
}
}
}
return (ArrayList<String>)strs;
}

对于我们这样的新手,经常性忘记就是立flag,这个可以解决很多问题,其实最经典的就是获取质数的程序。

最长单词(一星级题目) 本来是很简单的,其实就是加个flag的更多相关文章

  1. 英文长单词断行 word-break VS word-wrap

    你真的了解word-wrap和word-break的区别吗? 这两个东西是什么,我相信至今还有很多人搞不清,只会死记硬背的写一个word-wrap:break-word;word-break:brea ...

  2. lintcode :最长单词

    题目: 最长单词 给一个词典,找出其中所有最长的单词. 样例 在词典 { "dog", "google", "facebook", &quo ...

  3. [LeetCode] Longest Word in Dictionary 字典中的最长单词

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

  4. lintcode-133-最长单词

    133-最长单词 给一个词典,找出其中所有最长的单词. 样例 在词典 { "dog", "google", "facebook", &quo ...

  5. LintCode之最长单词

    题目描述: 分析:先建一个数组s用来存储每个字符串的长度,然后遍历数组s得到最大的数max,这个数就是词典中的最长单词的长度,由于可能有多个长度相等的单词,所以要循环整个词典,当一个单词的长度等于ma ...

  6. OpenJudge就算概论-最长单词2【寻找句子内部最长的单词】

    /*===================================== 最长单词2 总时间限制: 1000ms 内存限制: 65536kB 描述 一个以'.'结尾的简单英文句子,单词之间用空格 ...

  7. CSS3让长单词与URL地址自动换行——word-wrap属性

    div{ word-wrap:break-word; } word-wrap属性可以使用的属性值为normal与break-word两个.使用normal属性值时浏览器默认处理,只在半角空格或者连字符 ...

  8. 允许长单词、数字、URL换行到下一行

    CSS3 word-wrap 属性 normal 只在允许的断字点换行(浏览器保持默认处理) break-word 在长单词.数字.URL地址内部进行换行 页面效果图: 源码:

  9. C语言 · 最长单词

    算法提高 最长单词   时间限制:1.0s   内存限制:512.0MB      编写一个函数,输入一行字符,将此字符串中最长的单词输出. 输入仅一行,多个单词,每个单词间用一个空格隔开.单词仅由小 ...

随机推荐

  1. 输出a-b之间的随机数并考虑异常

    输出a-b之间的随机数并考虑异常 代码如下: package Day05;import java.util.Scanner;import java.util.Random; public class ...

  2. c#通用配置文件读写类(xml,ini,json)

    .NET下编写程序的时候经常会使用到配置文件.配置文件格式通常有xml.ini.json等几种,操作不同类型配置文件需要使用不同的方法,操作较为麻烦.特别是针对同时应用不同格式配置文件的时候,很容易引 ...

  3. SecureFX 乱码问题

    英文平时连终端的都是用SecureCRT, 今天试了一些SecureFX, 结果乱码了, 把redhat下的中文桌面标题显示乱码, 然后参考了一下别的前辈, 完美解决, 下面是解决办法: 1.找到配置 ...

  4. 【.net 深呼吸】自己动手来写应用程序设置类

    在开始装逼之前,老周先说明一件事.有人说老周写的东西太简单了,能不能写点复杂点.这问题就来了,要写什么东西才叫“复杂”?最重要的是,写得太复杂了,一方面很多朋友看不懂,另一方面,连老周自己也不知道怎么 ...

  5. vs2015数据驱动的单元测试

    今天在做测试的时候boss让我这个菜鸟做vs2015下c#的单元测试,并且给了我参考http://www.cnblogs.com/kingmoon/archive/2011/05/13/2045278 ...

  6. 决策树(ID3 )原理及实现

    1.决策树原理 1.1.定义 分类决策树模型是一种描述对实例进行分类的树形结构.决策树由结点和有向边组成.结点有两种类型:内部节点和叶节点,内部节点表示一个特征或属性,叶节点表示一个类. 举一个通俗的 ...

  7. 什么是B-Tree

    B-Tree就是我们常说的B树,一定不要读成B减树,否则就很丢人了.B树这种数据结构常常用于实现数据库索引,因为它的查找效率比较高. B-Tree与二叉查找树的对比 我们知道二叉查找树查询的时间复杂度 ...

  8. linux kill杀死进程

    背景:这个命令总是记不住,在此稍作记录,方便查看! 1 杀死进程 1.1 查看进程 此时如果我想杀了火狐的进程就在终端输入: $ kill -s 9 1827 其中-s 9 制定了传递给进程的信号是9 ...

  9. JS组件系列——在ABP中封装BootstrapTable

    前言:关于ABP框架,博主关注差不多有两年了吧,一直迟迟没有尝试.一方面博主觉得像这种复杂的开发框架肯定有它的过人之处,系统的稳定性和健壮性比一般的开源框架肯定强很多,可是另一方面每每想到它繁琐的封装 ...

  10. vue指令v-else-if示例解析

    表示 v-if 的 "else if 块".可以链式调用. <div id="app"> <p v-if="isRender&quo ...