单词

单词 统计续

感情迁移 提交于 2019-12-27 01:00:50
第1步:输出单个文件中的前 N 个最常出现的英语单词。 功能1:输出文件中所有不重复的单词,按照出现次数由多到少排列,出现次数同样多的,以字典序排列。 功能2: 指定文件目录,对目录下每一个文件执行统计的操作。 功能3:指定文件目录,是会递归遍历目录下的所有子目录的文件进行统计单词的功能。 功能4:输出出现次数最多的前 n 个单词, 例如, 提示统计统计前多少名:输入10。 就是输出最常出现单词的前 10 名。 当没有指明数量的时候,我们默认列出所有单词的频率。 第2步:第二步: 支持 stop words 在一本小说里, 频率出现最高的单 词一般都是 "a", "it", "the", "and", "this", 这些词, 可以做一个 stop word 文件 (停词表), 在统计词汇的时候,跳过这些词。 我们把这个文件叫 "stopwords.txt" file. 第三步: 想看看常用的短语是什么, 怎么办呢? 先定义短语:"两个或多个英语单词, 它们之间只有空格分隔". 请看下面的例子:   hello world //这是一个短语   hello, world //这不是一个短语 同一频率的词组, 按照字典序来排列。 第四步:把动词形态都统一之后再计数。 想找到常用的单词和短语,但是发现英语动词经常有时态和语态的变化,导致同一个词,同一个短语却被认为是不同的。

单词 统计

柔情痞子 提交于 2019-12-27 00:59:59
用户需求: 英语的26 个字母的频率在一本小说中是如何分布的? 某类型文章中常出现的单词是什么? 某作家最常用的词汇是什么? 《哈利波特》 中最常用的短语是什么,等等。 我们就写一些程序来解决这个问题,满足一下我们的好奇心。 第0步:输出某个英文文本文件中 26 字母出现的频率,由高到低排列,并显示字母出现的百分比,精确到小数点后面两位。 字母频率 = 这个字母出现的次数 / (所有A-Z,a-z字母出现的总数) 如果两个字母出现的频率一样,那么就按照字典序排列。 如果 S 和 T 出现频率都是 10.21%, 那么, S 要排在T 的前面。 第1步:输出单个文件中的前 N 个最常出现的英语单词。 作用:一个用于统计文本文件中的英语单词出现频率。 单词:以英文字母开头,由英文字母和字母数字符号组成的字符串视为一个单词。单词以分隔符分割且不区分大小写。在输出时,所有单词都用小写字符表示。 英文字母:A-Z,a-z 字母数字符号:A-Z,a-z,0-9 第1步:输出单个文件中的前 N 个最常出现的英语单词。 分割符:空格,非字母数字符号 例:good123是一个单词,123good不是一个单词。good,Good和GOOD是同一个单词。 package text428; import java.text.DecimalFormat; import java.util.*; import

LeetCode 30. Substring with Concatenation of All Words

北战南征 提交于 2019-12-26 19:14:20
题目描述(困难难度) 给定一个字符串 s ,给定 n 个单词 word,找出所有子串的开始下标,使得子串包含了给定的所有单词,顺序可以不对应。如果有重复的单词,比如有 [ " foo " , " foo " ] 那么子串也必须含有两个 " foo ",也就是说个数必须相同。 解法一 参考 leetCode 里的 solution 首先,最直接的思路,判断每个子串是否符合,符合就把下标保存起来,最后返回即可。 如上图,利用循环变量 i ,依次后移,判断每个子串是否符合即可。 怎么判断子串是否符合?这也是这个题的难点了,由于子串包含的单词顺序并不需要固定,如果是两个单词 A,B,我们只需要判断子串是否是 AB 或者 BA 即可。如果是三个单词 A,B,C 也还好,只需要判断子串是否是 ABC,或者 ACB,BAC,BCA,CAB,CBA 就可以了,但如果更多单词呢?那就崩溃了。 链接 的作者提出了,用两个 HashMap 来解决。首先,我们把所有的单词存到 HashMap 里,key 直接存单词,value 存单词出现的个数(因为给出的单词可能会有重复的,所以可能是 1 或 2 或者其他)。然后扫描子串的单词,如果当前扫描的单词在之前的 HashMap 中,就把该单词存到新的 HashMap 中,并判断新的 HashMap 中该单词的 value 是不是大于之前的 HashMap

Internet History,Technology,and Security - 心得体会

跟風遠走 提交于 2019-12-26 17:33:02
Week(10) 当看到“毕业典礼”视频的时候,其实心里挺百感交集的,有点喜悦,有点悲伤,想到仿佛还是昨天的高中毕业和远在三年之后的大学毕业。对高中的毕业充满了回忆,对大学的毕业充满了期待。嗯,很多话想说,可又不知道从何说起,可能又点混乱。哪么就先从毕业视频来说吧 毕业庆典 按照传统,每 年学生毕业,老师都会寄予学生临别终言。在这堂课里, Curt Bonk 教授向视频前的我们,给予了它对学习的看法和建议—— PC, 它可不是Personal Computer,而是四个 “P” 和四个 “C” 单词的缩写 第一个单词是 Passion(热情 ),你必须要对你的课程充满了热情。 第二个单词是 Purpose (目标) ,只有当你有了目标,你才有了前进的方向,你才知道你需要往哪个方向努力。 第三个单词是 Persistence(坚持) ,坚持我觉得是人生当中一定要有的品质,如果没有坚持,热情和目标也只是你每天向别人吹嘘的话题而已,无数的人曾经都在后悔没有坚持下去,而我不愿意做哪无数的人。 当你有了 Passion , Purpose , Persistence ,你就会慢慢地变得进步,而这种进步是你所看的见得,当你克服了难题,学到了新的知识,你就会充满成就感,你也会从中体会到 Playfulness(乐趣) ,这也是第四个单词。而乐趣会使你更加想要坚持下去。这样就形成了一个良性得循环

背单词

别来无恙 提交于 2019-12-25 22:31:52
背单词 (word.c/cpp/pas) 【题目描述】 fqk 退役后开始补习文化课啦, 于是他打开了英语必修一开始背单 词。 看着满篇的单词非常头疼, 而每次按照相同的顺序背效果并不好, 于是 fqk 想了一种背单词的好方法!他把单词抄写到一个 n 行 m 列的 表格里,然后每天背一行或者背一列。他的复习计划一共有 k 天,在 k 天后, fqk 想知道,这个表格中的每个单词,最后一次背是在哪一 天呢? 【输入格式】 第一行三个整数 k m n , , 。 接下来 k 行,每行的格式可能如下: 1. r ,表示当前天 fqk 背了第 r 行的单词。 . 2 c ,表示当前天 fqk 背了第 c 列的单词。 【输出格式】 输出包含 n 行, 每行 m 个整数, 表示每个格子中的单词最后一次背 是在哪天,如果这个单词没有背过,则输出 0 。 【输入样例】 3 3 3 1 2 2 3 1 3 【输出样例】 0 0 2 1 1 2 3 3 3 【数据范围】 对于 % 30 的数据, 1000 , ,  k m n 。 对于 % 100 的数据, 100000 , 100000 , 5000 ,     k m n m n 。 【时空限制】 对于每个测试点,时间限制为 s 1 ,空间限制为 MB 512 。 思路:   大模拟不解释 来,上代码: #include<cstdio>

1505: 酷酷的单词

故事扮演 提交于 2019-12-25 21:31:56
Time Limit: 1 Sec Memory Limit: 128 MB Description 输入一些仅由小写字母组成的单词。你的任务是统计有多少个单词是“酷”的,即每种字母出现的次数都不同。 比如ada是酷的,因为a出现2次,d出现1次,而1和2不同。再比如,banana也是酷的,因为a出现3次,n出现2次,b出现1次。但是,bbacccd不是酷的,因为a和d出现的次数相同(均为1次)。 Input 输入包含不超过30组数据。每组数据第一行为单词个数n (1<=n<=10000)。以下n行各包含一个单词,字母个数为1~30。 Output 对于每组数据,输出测试点编号和酷单词的个数。 Sample Input 2 ada bbacccd 2 illness a Sample Output Case 1: 1 Case 2: 0 1 #include <stdio.h> 2 #include <string.h> 3 4 int main(){ 5 int ct[255],ft[40],k=0,n; 6 char tmp[40]; 7 //freopen("1505.in","r",stdin); 8 while(scanf("%d",&n) == 1){ 9 int count = 0; 10 while(n--){ 11 int i,j,len; 12 scanf("

解字谜

安稳与你 提交于 2019-12-25 03:56:08
不知道咕咕了多久,我已经记不起来多久没更新了,主要是嘿嘿嘿,妹子太好康了,看着看着就不想写了。嗯,今天就先跟新一点,以后保持活跃呀。 问题介绍 其实是一个挺常见的问题哈,就是大家经常在说说里看到的——一张图,然后说什么第一眼看到的三个单词将会带给你好运啥的(主要是有时候我找了半天也找不出三个像样的单词很气),我们要实现一个利用DFS查找单词的程序。 简单的思路 利用for循环来遍历每个节点,对该节点进行DFS 将当前的单词存储在单词栈内,判断该栈中的单词是否为单词或者是某单词的前缀 a.如果是单词,则输出一下,转b b.如果是前缀,继续DFS c.如果啥都不是,那么肯定就不是了,退出DFS 附代码 /** * 解字谜游戏 * 输入:首先是一个 n*m 限制一下矩形的区域 * 输出:单词表中存在的所有单词 */ # include <stdio.h> # include <stdlib.h> # define FILE_NAME "words.txt" //这是单词表 # define MAX_WIDE 40 //最大的宽度 /* 全局变量 */ int row ; //行数 int col ; //列数 int dx [ ] = { 1 , - 1 , 0 , 0 } ; //控制DFS移动 int dy [ ] = { 0 , 0 , 1 , - 1 } ; int vis [

翻转单词顺序列

空扰寡人 提交于 2019-12-25 00:56:34
题目:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 这道题可以通过两次翻转来解决,先通过 reverse(str.begin(), str.end()) 将整个字符串翻转,再对每个子部分翻转,实现方式是定义两个指针i和j,让j从i开始,直到走到空格,然后翻转 reverse(str.begin() + i, str.begin() + j),此时j指向的是空格,让i = j,因为在for循环中有i++,所以i指向下一段字符串的开头。 c++代码如下: 1 class Solution { 2 public: 3 string ReverseSentence(string str) { 4 if(str.empty()) return str; 5 reverse(str.begin(), str.end()); 6 for(int i = 0; i < str.size(); i++){ 7 int j = i; 8 while(j < str.size() &&

LA、Remember the Word (字典树, 简单dp)

霸气de小男生 提交于 2019-12-24 14:09:30
传送门 题意: 给你一个初始串 S,strlen(s) <= 3e5 然后给你 n 个单词。 n <= 4000, 每个单词的长度不超过 100 ;    问你这个初始串,分割成若干个单词的连接的方案;(这些单词必须是给定的n个单词中的任意一个,一个单词可以被使用多次。) 解: 将 n 个单词建个字典树;    dp[ i ] 表示,S的 0 ~ i - 1 切割成若干个 单词的方案数;    枚举S, 枚举到 当前位置 i; 然后就在字典树找,以 S 的 i + 1 开始的, 能不能找到一个单词与之匹配;    若能找到, 假设单词为 i + 1 ~ j; 那么就有 dp[ j + 1 ] = ( dp[ j + 1 ] + dp[ i ] ) % mod    这只是个简单dp; 和字典树的简单应用的结合。 #include <bits/stdc++.h> #define LL long long #define rep(i, j, k) for(int i = j; i <= k; i++) #define dep(i, j, k) for(int i = k; i >= j; i--) #define INF 0x3f3f3f3f #define inf 0x3f3f3f3f3f3f3f3f #define mem(i, j) memset(i, j, sizeof(i))

LeetCode All in One 题目讲解汇总(持续更新中...)

♀尐吖头ヾ 提交于 2019-12-24 03:43:51
Given a list of strings words representing an English Dictionary, find the longest word in words that can be built one character at a time by other words in words . If there is more than one possible answer, return the longest word with the smallest lexicographical order. If there is no answer, return the empty string. Example 1: Input: words = ["w","wo","wor","worl", "world"] Output: "world" Explanation: The word "world" can be built one character at a time by "w", "wo", "wor", and "worl". Example 2: Input: words = ["a", "banana", "app", "appl", "ap", "apply", "apple"] Output: "apple"