英文单词

翻转单词顺序列

有些话、适合烂在心里 提交于 2020-02-01 21:34:35
题目:翻转单词顺序列 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 思路 将单词存在vector<string> v中,然后逆序叠加 class Solution { public: string ReverseSentence(string str) { vector<string> v; int size = str.size(); string res; if(size==0) return res; int begin=0,end=0; while(end<size){ if(str[end]!=' ') end++; else{ string word(str, begin, end-begin); v.push_back(word); begin=end=end+1; } } string word(str, begin, end-begin); v.push_back(word); for(int i=v.size()-1;i>=0;i--){

DAY 2

杀马特。学长 韩版系。学妹 提交于 2020-01-31 11:13:56
DAY 2 1.java入门知识 1.(1)关键字:组成字母全部小写; 注:goto和const是保留字; (2) 标识符:作用是给类,接口等取名; 规则:英文大小写字母,数字,¥和下划线; 注:不能以数字开头,不能是Java中的关键字(小写),不能有空格; 2.常见命名规则 (1)包(文件夹): 区分相同的类名,单级如yang,多级如yang.cast; (2)类或接口: 一个单词的话,单词首字母必须大写,如Student;多个单词的话,每个单词首字母必须大写,如:HelloWorld; (3)方法或变量: 如果一个单词,单词首字母小写,如main;多个单词,从第二个单词开始首字母大写,如studentAge,shoeName; 3.常量 (1) 一个单词:全部大写,如PI; 多个单词:每个字母大写,用下划线隔开每个单词,如STUDENT_MAX_AGE; (2) 字符串常量:双引号括起来,如“hello”; 整数常量:1234等; 字符常量:单引号括起来,如’A‘,’c‘等,但是’ab‘就不行,因为单引号里只能有一个字符,’0‘也是一个字符; 布尔常量:true & false; 空常量:null。 /* 分析: A: 要写一个Java程序,首先必须定义一个类 B: 数据能够输出,说明程序可以独立运行,而程序独立运行,必须使用main方法 C:数据输出在控制台,必须使用输出语句

07:机器翻译

丶灬走出姿态 提交于 2020-01-31 08:38:04
总时间限制: 1000ms 内存限制: 65536kB 描述 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。 假设内存中有M个单元,每单元能存放一个单词和译义。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过M−1,软件会将新单词存入一个未使用的内存单元;若内存中已存入M 个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。 假设一篇英语文章的长度为N个单词。给定这篇待译文章,翻译软件需要去外存查找多少次词典?假设在翻译开始前,内存中没有任何单词。 输入 输入文件共2行。每行中两个数之间用一个空格隔开。 第一行为两个正整数M和N,代表内存容量和文章的长度。 第二行为N个非负整数,按照文章的顺序,每个数(大小不超过1000)代表一个英文单词。文章中两个单词是同一个单词,当且仅当它们对应的非负整数相同。 对于10%的数据有M = 1,N ≤ 5。 对于100%的数据有0 < M ≤ 100,0 < N ≤ 1000。 输出 共1行

统计单词数 Java

混江龙づ霸主 提交于 2020-01-28 17:43:36
问题描述 统计输入英文文章段落中不同单词(单词有大小写之分,  但统计时忽略大小写)各自出现的次数。 输入段落中所含单词的总数不超过100,最长单词的长度不超过20个字母. 输入格式 一个包含若干句子的段落, 每个句子由若干英文单词组成. 除空格,  逗号和句号外, 这些输入的句子中不含其他非字母字符, 并且, 逗号和句号紧跟在它前面的英文单词后面, 中间没有空格. 段落最后一个字符是回车符,  表示输入结束. 输出格式 若段落中共有M个不同的英文单词,则按照其在段落中出现的先后顺序输出M行,各行的格式为:  单词中所有字母均用大写形式输出(最长的单词顶格输出,它前面没有多余的空格;  其余单词与其右对齐)+冒号+N个*号+该单词在段落中的出现次数N 样例输入 This is a test. This test is easy. This is a test. This test is easy. 样例输出 THIS:****4 IS:****4 A:**2 TEST:****4 EASY:**2 思路 使用hashMap(key-value键值对)存储每个单词和单词出现的次数,而且hashMap不允许出现重复的key值,处理此类问题再合适不过,但hashMap在利用put()添加元素时会按照key的字符串的字典序排列,而题目要求按照输入的顺序排列

英文句子的逆序

有些话、适合烂在心里 提交于 2020-01-25 07:20:11
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”, 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符。 (说声悄悄话,可以很自然的联想到向量这种增强版的数组这种数据结构来嘞!!!) Less words,and more codes: First: use vector<string> #include<bits/stdc++.h> using namespace std; int main() { string s; vector<string> vs;// 这种宏观的思维调运待我熟稔之! while(cin>>s) vs.push_back(s); for(int i=vs.size()-1;i>0;i--) cout<<vs[i]<<" "; cout<<vs[0]<<endl; return 0; } Second: use stringstream: //此处待追寻之:https://blog.csdn.net/sunshineacm/article/details/78068987 1 #include<bits/stdc++>h> 2 using namespace std; 3 int main() 4 { 5 string s; 6 getline(s); 7 stringstream ss

背单词app测试

拜拜、爱过 提交于 2020-01-25 02:30:22
基本任务 1.计划说明 本组选择的对比测试产品A为百词斩,产品B为可可英语。 测试进度表: 项目 内容说明 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 30 30 · Estimate · 估计这个任务需要多少时间 30 30 Testing Design 测试设计 180 180 · Analysis · 需求和测试需求分析 60 60 · Design Test Cases · 设计测试用例 120 120 Testing Environment 搭建测试环境(安装测试工具、管理工具等相关运行和支撑软件) 60 50 Testing Implementation 测试实施 20 20 · Test · 执行测试 20 20 Reporting 报告 60 90 · Test Report · 测试报告 30 45 · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30 45 合 计 350 370 2.需求说明 功能模块划分图如下 负责的功能模块:背单词模块 3.测试说明 (1)测试用例设计思路: 主要方法:等价类、场景法。 首先,由于软件没有太多填写项,大多数操作都是通过点击来完成,因此我主要采用了场景法来设计用例。也就是把自己当成最终的用户,使用软件,设计出在使用软件过程中重要的操作。

机器翻译(queue)

六眼飞鱼酱① 提交于 2020-01-17 02:34:02
题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。 假设内存中有MMM个单元,每单元能存放一个单词和译义。每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过M−1M-1M−1,软件会将新单词存入一个未使用的内存单元;若内存中已存入MMM个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。 假设一篇英语文章的长度为NNN个单词。给定这篇待译文章,翻译软件需要去外存查找多少次词典?假设在翻译开始前,内存中没有任何单词。 输入格式 共222行。每行中两个数之间用一个空格隔开。 第一行为两个正整数M,NM,NM,N,代表内存容量和文章的长度。 第二行为NNN个非负整数,按照文章的顺序,每个数(大小不超过100010001000)代表一个英文单词。文章中两个单词是同一个单词,当且仅当它们对应的非负整数相同。 输出格式 一个整数,为软件需要查词典的次数。 输入输出样例 输入 #1 3 7 1 2 1 5 4 4 1 输出 ``

7-2 单词排序(java sort快排)

…衆ロ難τιáo~ 提交于 2020-01-16 03:30:35
7-2 单词排序 (10分) 请编写程序,输入一系列单词,然后按字典顺序排序,最后输出结果。 输入格式 第一行为单词的数量 n (0<n<10000),后面有 n 行,每行一个英文单词(均由小写字母组成,且长度均不超过15个英文字母) 输出格式 共 n 行,每行一个英文单词(按字典顺序排列) 输入样例 3 stick stock stack 输出样例 stack stick stock 题意:很明确 题解:这个题卡输入输出,其实到1e5的数据java读入就很慢啦~~注意!此题就是简单快排~~~直接看代码吧! 上代码: import java.io.*; import java.util.*; public class Main { static class FastScanner{//用于快速读入大量数据 BufferedReader br; StringTokenizer st; public FastScanner(InputStream in) { br = new BufferedReader(new InputStreamReader(in),16384); eat(""); } public void eat(String s) { st = new StringTokenizer(s); } public String nextLine() { try {

实现英文单词MyWord类,为该类提供各种功能(加法、流插入、流提取、查找、替换)

ぐ巨炮叔叔 提交于 2020-01-11 16:08:22
实现英文单词MyWord类,为该类提供各种功能(加法、流插入、流提取、查找、替换); 由于需要查找等功能,在其中利用了容器,便于查找单词; 1 #include<iostream> 2 #include<vector> 3 #include<algorithm> 4 #include<cstring> 5 6 using namespace std; 7 8 class MyWord 9 { 10 private: 11 string data; 12 int length; 13 public: 14 MyWord(string data_ = "NULL",int length_ = 0):data(data_),length(length_) { } 15 MyWord(const MyWord & rhs); 16 bool operator == (const MyWord & rhs) 17 { return data == rhs.data; } 18 MyWord operator + (const MyWord & rhs); // + 运算符 19 friend ostream & operator << (ostream & os ,const MyWord & rhs); // << 流插入 20 friend istream & operator >>

ES分词及文档映射简介

故事扮演 提交于 2020-01-10 11:34:32
文档(Document) :一般搜索引擎的处理对象是互联网网页,而文档这个概念要更宽泛些,代表以文本形式存在的存储对象,相比网页来说,涵盖更多种形式,比如Word,PDF,html,XML等不同格式的文件都可以称之为文档。再比如一封邮件,一条短信,一条微博也可以称之为文档。 文档集合 (Document Collection):由若干文档构成的集合称之为文档集合。比如海量的互联网网页或者说大量的电子邮件都是文档集合的具体例子。 文档编号 (Document ID):在搜索引擎内部,会将文档集合内每个文档赋予一个唯一的内部编号,以此编号来作为这个文档的唯一标识,这样方便内部处理,每个文档的内部编号即称之为“文档编号”,后文有时会用DocID来便捷地代表文档编号。 单词编号 (Word ID):与文档编号类似,搜索引擎内部以唯一的编号来表征某个单词,单词编号可以作为某个单词的唯一表征。 倒排索引 (Inverted Index):倒排索引是实现“单词-文档矩阵”的一种具体存储形式,通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。 倒排表以字或词为关键字进行索引,表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段,它记录该文档的ID和字符在该文档中出现的位置情况。