随机了一个题目:

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

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

样例

在词典

{
"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. 增强for循环赋值

    增强for循环赋值 代码如下: double[] testList01 = new double[5]; java.util.Scanner sc = new java.util.Scanner(Sy ...

  2. Week 1 # A A + B Problem II

    原题描述: A - A + B Problem II I have a very simple problem for you. Given two integers A and B, your jo ...

  3. IDEA+Java:Selenium+Maven+TestNG基本WebUI自动化测试环境搭建

    IDEA+java:Selenium+Maven+TestNG 本文介绍的测试环境,应该是最基本的测试环境了,也是很多文章都有写,这里做一个完整的图文配置整理,方便阅读理解! 使用maven的好处,由 ...

  4. (转)Spring3MVC 在JSP中使用@ModelAttribute

    原文连接:http://liukai.iteye.com/blog/973717,仅供自己参考. 在教程中,我们将创建一个简单的Spring3MVC simple CRUD应用程序. 什么是@Mode ...

  5. 工具 | 代码调试利器fiddle介绍

    我们开发的系统运行在用户的环境上,为了保护我们的代码和提升性能,前端javascript是经过压缩的.压缩的代码难于定位,当前只有chrome对压缩的代码支持格式化,但是变量和函数简化后,定位依然困难 ...

  6. 封装自己的Ajax框架

    Ajax技术就是利用javascript和xml实现异步交互的功能. 首先先来介绍一下Ajax相关知识点 一.Ajax对象的创建 1.创建Ajax对象的方式 a.第一种方式是针对IE浏览器 b.第二种 ...

  7. session的用法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  8. BeanFactory VS FactoryBean

    1. BeanFactory BeanFactory定义了 IOC 容器的最基本形式,并提供了 IOC 容器应遵守的的最基本的接口,也就是Spring IOC 所遵守的最底层和最基本的编程规范.在   ...

  9. H5入门——HTML部分

    一.HTML的基本构成 1.<!DOCTYPE html>文档类型声明 <!--HTML的文档类型声明.声明这个文件是HTML5文件,让浏览器按照HTML5准备进行解析显示.文档类型 ...

  10. 关于SQL语句条件值写中文查不到的问题

    在使用jdbc链接MySQL执行SQL语句的时候,sql语句中的where条件,参数值带中文,则查询不到结果,而where条件,参数值都为数字或字母时可以正常查询, 原因是mysql的characte ...