最长单词(一星级题目) 本来是很简单的,其实就是加个flag
随机了一个题目:
给一个词典,找出其中所有最长的单词。
这道题对于初学者还是很有用的,毕竟用的逻辑是比较复杂的
样例
在词典
{
"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的更多相关文章
- 英文长单词断行 word-break VS word-wrap
你真的了解word-wrap和word-break的区别吗? 这两个东西是什么,我相信至今还有很多人搞不清,只会死记硬背的写一个word-wrap:break-word;word-break:brea ...
- lintcode :最长单词
题目: 最长单词 给一个词典,找出其中所有最长的单词. 样例 在词典 { "dog", "google", "facebook", &quo ...
- [LeetCode] Longest Word in Dictionary 字典中的最长单词
Given a list of strings words representing an English Dictionary, find the longest word in words tha ...
- lintcode-133-最长单词
133-最长单词 给一个词典,找出其中所有最长的单词. 样例 在词典 { "dog", "google", "facebook", &quo ...
- LintCode之最长单词
题目描述: 分析:先建一个数组s用来存储每个字符串的长度,然后遍历数组s得到最大的数max,这个数就是词典中的最长单词的长度,由于可能有多个长度相等的单词,所以要循环整个词典,当一个单词的长度等于ma ...
- OpenJudge就算概论-最长单词2【寻找句子内部最长的单词】
/*===================================== 最长单词2 总时间限制: 1000ms 内存限制: 65536kB 描述 一个以'.'结尾的简单英文句子,单词之间用空格 ...
- CSS3让长单词与URL地址自动换行——word-wrap属性
div{ word-wrap:break-word; } word-wrap属性可以使用的属性值为normal与break-word两个.使用normal属性值时浏览器默认处理,只在半角空格或者连字符 ...
- 允许长单词、数字、URL换行到下一行
CSS3 word-wrap 属性 normal 只在允许的断字点换行(浏览器保持默认处理) break-word 在长单词.数字.URL地址内部进行换行 页面效果图: 源码:
- C语言 · 最长单词
算法提高 最长单词 时间限制:1.0s 内存限制:512.0MB 编写一个函数,输入一行字符,将此字符串中最长的单词输出. 输入仅一行,多个单词,每个单词间用一个空格隔开.单词仅由小 ...
随机推荐
- 增强for循环赋值
增强for循环赋值 代码如下: double[] testList01 = new double[5]; java.util.Scanner sc = new java.util.Scanner(Sy ...
- 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 ...
- IDEA+Java:Selenium+Maven+TestNG基本WebUI自动化测试环境搭建
IDEA+java:Selenium+Maven+TestNG 本文介绍的测试环境,应该是最基本的测试环境了,也是很多文章都有写,这里做一个完整的图文配置整理,方便阅读理解! 使用maven的好处,由 ...
- (转)Spring3MVC 在JSP中使用@ModelAttribute
原文连接:http://liukai.iteye.com/blog/973717,仅供自己参考. 在教程中,我们将创建一个简单的Spring3MVC simple CRUD应用程序. 什么是@Mode ...
- 工具 | 代码调试利器fiddle介绍
我们开发的系统运行在用户的环境上,为了保护我们的代码和提升性能,前端javascript是经过压缩的.压缩的代码难于定位,当前只有chrome对压缩的代码支持格式化,但是变量和函数简化后,定位依然困难 ...
- 封装自己的Ajax框架
Ajax技术就是利用javascript和xml实现异步交互的功能. 首先先来介绍一下Ajax相关知识点 一.Ajax对象的创建 1.创建Ajax对象的方式 a.第一种方式是针对IE浏览器 b.第二种 ...
- session的用法
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- BeanFactory VS FactoryBean
1. BeanFactory BeanFactory定义了 IOC 容器的最基本形式,并提供了 IOC 容器应遵守的的最基本的接口,也就是Spring IOC 所遵守的最底层和最基本的编程规范.在 ...
- H5入门——HTML部分
一.HTML的基本构成 1.<!DOCTYPE html>文档类型声明 <!--HTML的文档类型声明.声明这个文件是HTML5文件,让浏览器按照HTML5准备进行解析显示.文档类型 ...
- 关于SQL语句条件值写中文查不到的问题
在使用jdbc链接MySQL执行SQL语句的时候,sql语句中的where条件,参数值带中文,则查询不到结果,而where条件,参数值都为数字或字母时可以正常查询, 原因是mysql的characte ...