题目描述:对字符串中的所有单词进行倒排。

说明:

1、每个单词是以26个大写或小写英文字母构成,可以用一个“-”中连接线连接单词两部分表示一个单词,但是仅限一个“-”,出现两个“--”则为非构成单词的字符;

2、非构成单词的字符均视为单词间隔符;

3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;

4、每个单词最长20个字母;

5、输出字符串,否则输出-1。

样例输入:

i*&* am--a good-student

样例输出:

good-student a am i

代码示例:

public class WordReverseOrder {

    public static void main(String[] args) {
String string = "i*&*am--a good-student"; String express = "(?!(?<=[a-zA-Z]+)-(?=[a-zA-Z]+))[^a-zA-Z]+";
String[] strings = string.split(express); if (strings.length == 0) {
System.out.println("-1");
}else{
boolean overLength = false;
StringBuffer stringBuffer = new StringBuffer();
for (int i = strings.length - 1; i >= 0; i--) {
if (strings[i].length() > 20) {
overLength = true;
break;
}
if (!"".equals(strings[i].trim())) {
stringBuffer.append(strings[i] + " ");
}
}
if (overLength || stringBuffer == null) {
System.out.println("-1");
} else {
System.out.println(stringBuffer.toString().trim());
}
}
}
}

OJ_单词倒排的更多相关文章

  1. AC日记——单词倒排 1.7 28

    28:单词倒排 总时间限制:  1000ms 内存限制:  65536kB 描述 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输 ...

  2. OpenJudge计算概论-单词倒排【把句子内单词的顺序翻转】

    /*================================================== 单词倒排 总时间限制: 1000ms 内存限制: 65536kB 描述 编写程序,读入一段英文 ...

  3. Openjudge-计算概论(A)-单词倒排

    描述: 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔. 输入输入为一个字符串(字符串长度至多为100).输出输出为按要求排续后的字符 ...

  4. 35:字符串单词倒排 ReverseWords

    题目描述:对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成: 2.非构成单词的字符均视为单词间隔符: 3.要求倒排后的单词间隔符以一个空格表示:如果原字符串中相邻单 ...

  5. wikioi 1205 单词倒排

    /*====================================================================== 1205 单词翻转 题目描述 Description ...

  6. Python 单词字母顺序不变且所有倒排

    翻出google測试project师的一道题目: 设计一个函数,不论什么语言都能够,实现下面功能: 一个句子,将句子中的单词所有倒排过来,但单词的字母顺序不变.eg.  this is a real ...

  7. wukong引擎源码分析之索引——part 1 倒排列表本质是有序数组存储

    searcher.IndexDocument(0, types.DocumentIndexData{Content: "此次百度收购将成中国互联网最大并购"}) engine.go ...

  8. Java知识积累2-StringReverse实现文字(单词)倒叙输出

    package String; import java.util.Stack;import java.util.StringTokenizer; public class StringReverse ...

  9. Lucene 4.X 倒排索引原理与实现: (2) 倒排表的格式设计

    1. 定长编码 最容易想到的方式就是常用的普通二进制编码,每个数值占用的长度相同,都占用最大的数值所占用的位数,如图所示. 这里有一个文档ID列表,254,507,756,1007,如果按照二进制定长 ...

随机推荐

  1. g++多文件编译

    头文件:A.h void test(); 源文件:A.cpp #include <iostream> #include<thread> #include<chrono&g ...

  2. 关于博主noble_

    大家好啊,我是博主noble_,大家叫我noble就行了.我身处上海某初高中连体的市重点,校内OI比较弱. 个人常用OJ是洛谷,BZOJ,POJ,HDU,UVA.名字都叫noble_. 目前noble ...

  3. kudu架构(转)

    特点:   High availability(高可用性).Tablet server 和 Master 使用 Raft Consensus Algorithm 来保证节点的高可用,确保只要有一半以上 ...

  4. UVA-712-满二叉树

    一个策略树(S-tree)是一组变量Xn={x1,x2...xn}的表现形式,它代表一个布尔函数f:{0,1}n->{0,1},策略树每条路径从根结点开始由n+1个结点组成,策略树的每一个结点都 ...

  5. JAVA servlet 上传文件(commons-fileupload, commons-io)

    <1>获取二进制文件流并输出 InputStream inputStream = request.getInputStream(); BufferedReader reader = new ...

  6. C# EF 基础操作

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. ABAP-语音输出

    REPORT ZRICO_SPEAK. include ole2incl. data:ole type ole2_object, voice type ole2_object. parameters: ...

  8. redis 查询key数量

    info查询所有库的key数量 dbsize查询当前库的key数量 keys * 查询当前库的所有key,数量少的时候可以用,当key很多的时候很慢,be careful!

  9. 定制sudo的密码保持时间以及如何不需要密码

    由于每次sudo什么都要输入密码..好麻烦.所以我要把它的密码记住时间修改一下,变得长一点. 先输入命令 vim /etc/sudoers找到下面行 Defaults env_reset 改变此行为下 ...

  10. Apache相关安全设置

    刚刚安装完Apache2.2和php 5.2.14后,配置完成首次用httpd启动时出现Apache 2 Test Page,并有如下提示:     此问题的解决办法是: 1. 找到一个叫做welco ...