单词

最后一个单词的长度

烂漫一生 提交于 2020-01-30 09:34:19
最后一个单词的长度 题目描述: 给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。 如果不存在最后一个单词,请返回 0 。 说明:一个单词是指由字母组成,但不包含任何空格的字符串。 样例输入 hello world 样例输出 :5 代码如下:(关键代码+注释) //使用split()方法将输入进来的字符串根据空格“ ”分割并存储在数组str中; String [ ] str = s . split ( " " ) ; if ( str . length == 0 ) { return 0 ; } else { //返回数组中最后一个字符串的长度; //str.length-1:数组最后一个下标; //str[str.length-1]:数组中最后一个数值; //str[str.length-1].length();:数组中最后一个数值的长度; return str [ str . length - 1 ] . length ( ) ; } 以下完整代码: package lanqiaobei ; import java . util . Scanner ; public class last_word { public static void main ( String [ ] args ) { // TODO Auto-generated method

LeetCode 20200127(最后一个单词 的长度)

左心房为你撑大大i 提交于 2020-01-30 07:59:54
1.最后一个单词的长度 注意1.要考虑如果字符串末尾是空格怎么办 所以用length–将需要考虑的长度缩减 注意2 然后用一个变量存放单词长度 这个参数一旦碰到空格就置零 否则进行计数 注意3 continue class Solution { public : int lengthOfLastWord ( string s ) { int len = s . size ( ) ; int res = 0 ; while ( s [ len - 1 ] == ' ' ) { len -- ; } for ( int i = 0 ; i < len ; i ++ ) { if ( s [ i ] == ' ' ) { res = 0 ; continue ; } res ++ ; } return res ; } } ; 来源: CSDN 作者: 17岁歌手想当爸爸 链接: https://blog.csdn.net/puying1/article/details/104105348

zzulioj 1133: 单词个数统计

让人想犯罪 __ 提交于 2020-01-30 06:09:45
1133: 单词个数统计 题目描述 从键盘输入一行字符,长度小于1000。统计其中单词的个数,各单词以空格分隔,且空格数可以是多个。 输入 输入只有一行句子。仅有空格和英文字母构成 输出 单词的个数 样例输入 Copy stable marriage problem Consists of Matching members 样例输出 Copy 7 C # include <stdio.h> int main ( ) { int i = 1 , n = 0 ; char a [ 1005 ] ; gets ( a ) ; if ( a [ 0 ] != ' ' ) n = 1 ; while ( a [ i ] != '\0' ) { if ( a [ i - 1 ] == ' ' && a [ i ] != ' ' ) n ++ ; i ++ ; } printf ( "%d\n" , n ) ; return 0 ; } 来源: CSDN 作者: 曹氏阿七 链接: https://blog.csdn.net/qq_45845830/article/details/104105112

poj2503-Babelfish

匆匆过客 提交于 2020-01-29 22:17:41
题目:Babelfish 这个题我是用字典树写的,也可以用map实现,字典树可学习这篇博客 传送门:https://blog.csdn.net/weixin_39778570/article/details/81990417 题意: 每行输入两个单词,可以通过右边的单词查到左边的单词,这样形成一本字典;输入一个空行,然后开始输入要查询的单词,找到它在字典上对应的单词; 题解: 形成字典用字典树实现,将要查询的单词建树,将最后一个数字存入数组标记上翻译后的单词;输入空行开始查询可以用gets() 实现,读入字符串然后判断长度是否为0; 1 #include<stdio.h> 2 #include<iostream> 3 #include<string.h> 4 #include<algorithm> 5 using namespace std; 6 7 char a[100]; 8 char b[100],c[100]; 9 char s[400010][20]; 10 int tree[400010][30]; 11 int color[400010]; 12 int tot=1; 13 14 void insert() 15 { 16 int len=strlen(c); 17 int p=0; 18 for(int i=0;i<len;i++){ 19 int k=c[i]-

停不下来的英语课联想

老子叫甜甜 提交于 2020-01-29 02:59:11
今天下午,4节课的英语。 emmm,难免会走神嘛.... 老师说到关于背单词的事儿,嗦不必去背大纲词汇,每天记下文章中的高频词汇即可。 然后到期末,你再自己数数自己写了多少单词,其实这样的数量就够了。 Emmm,我想的却是,“诶~到时候真的自己去数记了多少单词吗,这不太傻了吗 ,要是每记一个单词就i++就好了,诶!” 嗯,写个程序。 支持每天存入学到的新单词,然后支持以前存过得单词抽选拼写练习,并统计每次拼写正确和错误的次数,一定时间后, 用这些数据反馈回给用户:其中错的最多的词是什么... 然后从词典中抽取几个额外的单词以供记忆。 再增加一个随笔的功能,相当于日记,记下关于学习或者生活的一些句子。 Bingo! 来源: https://www.cnblogs.com/firstblogtoliukehong/p/8571018.html

统计单词数 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的字符串的字典序排列,而题目要求按照输入的顺序排列

LeetCode 58. Length of Last Word

≡放荡痞女 提交于 2020-01-28 15:43:22
58. Length of Last Word(最后一个单词的长度) 链接 https://leetcode-cn.com/problems/length-of-last-word 题目 给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度。 如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。 如果不存在最后一个单词,请返回 0 。 说明:一个单词是指仅由字母组成、不包含任何空格的 最大子字符串。 示例: 输入: "Hello World" 输出: 5 思路 字符串题,只要注意到几处细节就不难。 我是从最后一位开始的,若最后一位为空格,则提前,提前到非空处,之后再按位查找,直到找到空格或者到字符串的开头为止。在按位查找的过程中增加一个num用于计数,最后输出num即可。 代码 public static int lengthOfLastWord(String s) { if (s.length() < 1) { return 0; } int end = s.length() - 1; while (end >= 0 && s.charAt(end) == ' ') { end--; } if (end < 0) { return 0; } int num = 0; while (end >= 0 && s.charAt(end) != '

个人作业2——WordCount

て烟熏妆下的殇ゞ 提交于 2020-01-28 13:35:04
个人作业2——WordCount 标签(空格分隔): 软件工程 Task1:Fork仓库的码云地址 码云地址:https://gitee.com/JiuSong/PersonalProject-Java Task2:PSP表格 PSP2.1 个人开发流程 预估耗费时间(分钟) 实际耗费时间(分钟) Planning 计划 10 20 · Estimate 明确需求和其他相关因素,估计每个阶段的时间成本 20 20 Development 开发 240 300 · Analysis 需求分析 (包括学习新技术) 20 30 · Design Spec 生成设计文档 20 25 · Design Review 设计复审 20 20 · Coding Standard 代码规范 10 10 · Design 具体设计 20 26 · Coding 具体编码 120 150 · Code Review 代码复审 20 25 · Test 测试(自我测试,修改代码,提交修改) 60 70 Reporting 报告 80 110 · 测试报告 20 25 · 计算工作量 10 15 · 并提出过程改进计划 20 15 Task3:解题思路描述 题目的需求分析: 统计文件的字符数: 只需要统计Ascii码,汉字不需考虑 空格,水平制表符,换行符,均算字符 统计文件的单词总数,单词

884. Uncommon Words from Two Sentences

梦想的初衷 提交于 2020-01-28 08:08:16
884. 两句话中的不常见单词 给定两个句子 A 和 B 。 ( 句子 是一串由空格分隔的单词。每个 单词 仅由小写字母组成。) 如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是 不常见的 。 返回所有不常用单词的列表。 您可以按任何顺序返回列表。 示例 1: 输入:A = "this apple is sweet", B = "this apple is sour" 输出:["sweet","sour"] 示例 2: 输入:A = "apple apple", B = "banana" 输出:["banana"] 提示: 0 <= A.length <= 200 0 <= B.length <= 200 A 和 B 都只包含空格和小写字母。 解法一 //时间复杂度O(n), 空间复杂度O(n) class Solution { public: vector<string> uncommonFromSentences(string A, string B) { unordered_map<string, int> um; istringstream iss(A + ' ' + B); while(!iss.eof()) { string str; iss >> str; um[str]++; } vector<string> res; for

Ac自动机基础题集合

僤鯓⒐⒋嵵緔 提交于 2020-01-27 10:30:57
Ac_automaton的板子打熟以后发现碰到题不会做,而且还是比较纯的板子,只要改几处地方就可以,Ac_automation有许多优秀而fantasy的性质,下面粘几个题,来记录一下做题的心得。 1、Keywords Search 这个题最大的问题是我们很可能漏掉一些解。建Ac_automaton(Trie图),额外维护一个size变量,在单词末尾++。 然后我们拿主串在Ac_automaton上面跑,每次都遍历其fail链(及所有前缀fail),因为fail指向某个串的最长后缀,只要把size累加上,就能把可能漏掉的解全都找回来,遍历完后,size=-1,通过这个操作,我们可以保证,当一个节点被便利后,其所有可能更新答案的fail一定已经被遍历,时间复杂度更加优秀。而且照着代码画一画Trie图,发现只要把主串跑一遍,不需要别的操作,因为在Trie树的最底层,我们把空儿子已经指倒了其fail的儿子,形成一张图,这种“类环”模型可以放心大胆的把主串“扔”到Ac_automaton上“跑”一遍。 #include<iostream> #include<algorithm> #include<cmath> #include<cstdio> #include<cstring> #include<vector> #include<queue> #include<map> #include