精华内容
下载资源
问答
  • 包单词
    千次阅读
    2021-02-26 10:18:30

    包名不应该用来表达模块完整的意思,包名应该仅用作与同包下的其他包做区分。

    遇到适当的时候应该向范围更大的语义上取名,如已存在一个包代表 51-100 的范围,现在你想新建一个包 1-30,如果不存在 31-50,应当向上取包名成为 1-50;如果存在 31-50,应当取包名为 1-50.1-30 和 1-50.31-50 两个包。

    对于题中的情况,应该去除重复的部分,仅留下关键区分的信息:

    com.coalmine.management

    com.coalmine.execution

    如果除了子系统,还有非子系统,那就命名为:

    com.coalmine.subsystem.management

    com.coalmine.subsystem.execution

    如果除了生产子系统,还有非生产子系统,那就命名为:

    com.coalmine.subsystem.production.management

    com.coalmine.subsystem.production.execution

    更多相关内容
  • 题目: 给出一个长度不超过200,而且全部小写英文字母组成的字符串(该字符串必须每行20个字母的方式输入)。要求将此字符串分成k份(1<k<=40),输出最大的包含单词个数。...3.单词由...

    题目:
    给出一个长度不超过200,而且全部小写英文字母组成的字符串(该字符串必须每行20个字母的方式输入)。要求将此字符串分成k份(1<k<=40),输出最大的包含单词个数。限制条件如下:
    1.每份中包含的单词可以部分重叠。
    2.当选用一个单词后,其第一个字母不能再用。例如字母串this中可包含this和is,选用this之后就不能包含th,因为t开头的单词已经包含在内了。
    3.单词由一个不超过6个单词的字典给出。
    输入第一行为一个正整数n(0<n<=5),表示测试数据组数。每组的第一行有两个正整数p、k。p表示子串的行数,k表示分成k个部分。再接下来有一行有一个正整数s,表示词典中单词个数(1<s<=6)。接下来的s行为词典内容,每行均有一个单词。输出n行,每行一个整数,分别对应每组测试数据的相应结果。

    思路:

    说明题中“给出一个长度不超过200,...(该字符串必须每行20个字母的方式输入)”听起来有些莫名其妙,因此不考虑这个,直接输入一行待匹配的字符串。然后关于测试数据,我也默认只有一组测试数据,如果需要按照题目输入几组测试数据的话,写一个while循环一组一组的测试即可。)

    学习了一阵子动态规划,条件反射先定义一个二维数组dp[][],本题dp[i][j]的含义为将输入字符串的前 i+1个字符组成的子字符串划分为 j 份后最大包含单词的个数。动态转移方程为:dp[i][j] = dp[m][j-1] + ([m+1,i] 区间中包含的单词个数)。

    [m+1,i] 区间中包含的单词个数可以这样求:先将该部分字符串提取出来赋给substr变量,再将substr传入match_and_count函数,进行统计。而match_and_count函数的思路可以参考我的上一篇博客:c++ 求字符串中最大的包含单词个数

    另外将区间[0,i]的子字符串分为1份(不划分)时的dp[i][0]是可以提前用match_and_count函数求得的。

    如果理解不了动态转移方程:dp[i][j] = dp[m][j-1] + ([m+1,i] 区间中包含的单词个数) ,可以看一下我的这一篇博客:程序基本算法习题解析 动态规划-乘积最大:设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积最大。

    最后就是需要注意遍历时各层循环变量的取值范围。

    代码如下:

    // Chapter14_6.cpp : Defines the entry point for the application.
    // 统计单词个数
    // 给出一个长度不超过200,而且全部小写英文字母组成的字符串(该字符串必须每行20个字母的方式输入)。
    // 要求将此字符串分成k份(1<k<=40),输出最大的包含单词个数。限制条件如下:
    // 1.每份中包含的单词可以部分重叠。
    // 2.当选用一个单词后,其第一个字母不能再用。例如字母串this中可包含this和is,选用this之后就不能
    // 包含th,因为t开头的单词已经包含在内了。
    // 3.单词由一个不超过6个单词的字典给出。
    // 输入第一行为一个正整数n(0<n<=5),表示测试数据组数。
    // 每组的第一行有两个正整数p、k。p表示子串的行数,k表示分成k个部分。
    // 再接下来有一行有一个正整数s,表示词典中单词个数(1<s<=6)。
    // 接下来的s行为词典内容,每行均有一个单词。
    // 输出n行,每行一个整数,分别对应每组测试数据的相应结果。
    
    #include "stdafx.h"
    #include<iostream>
    #include<string>
    using namespace std;
    
    const int max_dic = 6; //定义字典中所能存放的单词个数
    const int maxN = 200; //字符串最大的长度
    const int maxK = 40; //划分的最大份数
    string str; //原字符串(输入的需要匹配的字符串)
    int p; //字典中单词的个数
    int k; //要划分的份数
    int maxlength; //字典中最长单词的长度
    string dic[max_dic]; //字典
    
    //声明函数
    int max_length(string *str,int n); //求字典中最长单词的长度函数
    int match_and_count(string &substr); //求字典中最长单词的长度函数
    
    int main()
    {
    	//dp[i][j]表示将输字符串的前i+1个字符组成的子字符串划分为j份后最大包含单词的个数
    	int dp[maxN+1][maxK+1]; 
    	memset(dp,0,sizeof(dp));
    	int i,j; //循环变量
    	int count = 0; //计数变量
    	//输入
    	cout << "输入需要匹配的字符串:" << endl;
    	cin >> str;
    	cout << "输入需要划分的份数:";
    	cin >> k;
    	cout << "输入字典中的单词个数:";
    	cin >> p;
    	cout << "输入字典中的单词:" << endl;
    	for(i=0;i<p;i++)
    		cin >> dic[i];
    	//输入的字符串的长度
    	int stringLength = str.length();
    	//求字典中最长单词的长度
    	maxlength = max_length(dic,p);
    	//将区间[0,i]的子字符串分为1份(不划分)时的dp[i][0]
    	//求子字符串
    	string substr = ""; //substr为区间[m,i]之间的子字符串
    	for(i=0;i<stringLength;i++)
    	{
    		substr = substr + str[i]; 
    		dp[i][1] = match_and_count(substr);
    	}
    	//动态规划思想求dp[i][j]
    	//i的取值范围是[0,stringLength)
    	for(i=0;i<stringLength;i++)
    	{
    		//j的取值范围是[1,k],但是j=1时的dp[i][j]值之前单独求过了,因此这里j从2开始
    		for(j=2;j<=k;j++)
    		{
    			//要保证字符串长度大于划分的份数
    			if(i>=j)
    			{
    				count = 0; //对于每个dp[i][j],count需要初始化为0
    				for(int m=0;m<i;m++)
    				{
    					//求子字符串
    					substr = ""; //substr为区间[m+1,i]之间的子字符串
    					for(int l=m+1;l<=i;l++)
    						substr = substr + str[l]; 
    					//求substr中最大包含的单词数
    					count = match_and_count(substr);
    					//动态转移方程
    					dp[i][j] = dp[m][j-1] + count;
    				}
    			}
    		}
    	}
    	cout << "最大的包含单词个数为:" << dp[stringLength-1][k] << endl;
    	system("pause");
    	return 0;
    }
    
    //求字典中最长单词的长度函数
    int max_length(string *str,int n)
    {
    	int max = str[0].length();
    	for(int i=1;i<n;i++)
    	{
    		if(str[i].length() > max)
    			max = str[i].length();
    	}
    	return max;
    }
    
    //匹配和计数函数
    int match_and_count(string &substr)
    {
    	int subcount = 0; //函数中的计数变量
    	int i;
    	//left:切片的起始位置,right:切片的终止位置
    	int left = 0,right = 0;
    	//切片的起始位置移动到原字符串的末尾为止
    	while(left < substr.length())
    	{
    		//left加1和right加1的标志变量,flag=0表示未找到匹配,right加1;flag=1表示找到匹配,left加1
    		int flag = 0; 
    		//遍历不同长度的子字符串
    		for(right=left;right<= left+maxlength;right++)
    		{
    			//求子字符串
    			string temp = "";
    			for(i=left;i<=right;i++)
    				temp = temp + substr[i]; 
    			//与字典中的单词进行比对
    			for(i=0;i<p;i++)
    			{
    				//若匹配到一个单词
    				if(temp == dic[i])
    				{
    					subcount++; //计数变量加1
    					flag = 1; //flag置1(目的是退出外for循环)
    					break;
    				}
    			}
    			if(flag == 1)
    				break;
    		}
    		//从下个字符开始进行匹配
    		left++;
    	}
    	return subcount;
    }
    

    运行结果如下:

    展开全文
  • 1.5万多个英语单词数据库(Access),除了英语单词意思外,还包含例句以及该单词的四种形态,即过去式、过去分词、现在分词和名词复数形式 特别说明:本数据库仅用于学习和个人使用,请勿用于商业。
  • 这个是为了匹配某单词,无后缀。 然后用(?:)的循环语句廓上,循环0次,就搞定了 (?:(?!单词).)* eg: /(http:\/\/[^'"(),\\s\r\n!\x80-\xff](?:(?!http:|https:).)+)/i 转载于:...

    (?!单词).
    这个是为了匹配某单词,无后缀。
    然后用(?:)的循环语句廓上,循环0次,就搞定了
    (?:(?!单词).)*
    eg:

    /(http:\/\/[^'"<>(),\\s\r\n!\x80-\xff](?:(?!http:|https:).)+)/i

    转载于:https://my.oschina.net/pureboys/blog/613417

    展开全文
  • 汉堡的英语单词参考.doc
  • 汉堡的英文单词参考.doc
  • C语言最长最短单词

    千次阅读 多人点赞 2020-02-20 16:10:59
    题目:最长最短单词 【描述】 输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。 试输出第1个最长的单词和第1个最短...

    题目:最长最短单词

    【描述】
    输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格逗号都是单词间的间隔。
    试输出第1个最长的单词和第1个最短单词。

    【输入】
    一行句子。

    【输出】
    两行输出:
    第1行,第一个最长的单词。
    第2行,第一个最短的单词。

    【样例输入】
    I am studying Programming language C in Peking University
    【样例输出】
    Programming
    I

    分析:

    这个题目思路是这样:先用gets函数输入整行字符串a,然后扫描a串分割出各个单词,依次比较新分割的单词的长度是否比已经发现的单词中最长、最短单词还要长或短,若是有需要在更新一经发现的最长、最短单词并更新最长、最短单词的长度。
    这里关键是扫描、分割单词。由于空格和逗号都是单词的分隔符号,所以可以把他们两种符号一起处理。扫描分割的过程需要用标志性变量f。f=0表示当前遇到的分隔符(空格或逗号)是新单词之前的分隔符; f=1表示当前遇到的分隔符前面有一个刚刚扫描形成的单词,也就是已经扫描分割出一个单词,需要对该单词做处理(求长度newLen,用newLen和max、min比较)。注意:在处理完一个单词后需要把f重新设为0.

    注意1:输入的串的开头、结尾可能有分隔符,也可能没有分隔符。所以末尾单词不一定被拿来跟max和min作比较。需要在循环后单独处理。

    注意2:如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。

    代码

    #include<stdio.h>
    #include<string.h>
    int main(void){
    	char a[20200],b[101],maxT[101]="",minT[101]="";
    	int i=0,j=0;
    	int max=-1,min=101,newLen;
    	int f=0;  //f=0表示当前遇到的分隔符(空格或逗号)是新单词前的分隔符 
    	
    	gets(a);
    	while(a[i]!='\0'){  //扫描a串生成一个新的单词,然后测其长度,再与max,min对比 
    		if(a[i]==' '||a[i]==','){
    			if(f==1){   //f=1表示当前遇到的分隔符前面有一个刚刚扫描形成的单词 
    				b[j]='\0';
    				newLen=strlen(b);
    				if(newLen>max) {
    					max=newLen;
    					strcpy(maxT,b);
    				}
    				if(newLen<min){
    					min=newLen;
    					strcpy(minT,b);
    				}
    				f=0;
    				j=0;
    			}
    		}
    		else{
    			b[j]=a[i];
    			j++;
    			f=1;  //开始或是正在构造一个单词 
    		}
    		i++;
    	}
    	//处理末尾单词 
    	b[j]='\0';
    	newLen=strlen(b);
    	if(newLen>max) {
    		max=newLen;
    		strcpy(maxT,b);
    	}
    	if(newLen<min){
    		min=newLen;
    		strcpy(minT,b);
    	}
    	printf("%s\n%s\n",maxT,minT);
    	return 0;
    }
    

    运行

    在这里插入图片描述
    在这里插入图片描述
    原作者博客
    https://www.cnblogs.com/huashanqingzhu/p/5075332.html

    展开全文
  • 随机词 演示随机单词是一个用于创建随机单词动画并根据用户提供的单词数据生成随机单词的程序。如何使用 // Install from NPMnpm i randomwordanimation// Config for Random WordRandomWord ( { dataText : [ ] ,...
  • 删除单词后缀

    千次阅读 2019-01-31 10:55:45
    给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为0), 否则不进行任何操作。 输入 输入一行,包含一个单词单词中间没有空格,每个单词最大长度为32)。 输出 ...
  • 15000个英语单词数据库access版

    热门讨论 2009-07-31 10:46:40
    英语单词数据库英语单词数据库英语单词数据库英语单词数据库英语单词数据库英语单词数据库英语单词数据库
  • 输入一个英文句子,英文句子中可以包含各种标点符号、空格和英文单词,句子最长不超过255字符,以回车结束。 #include<iostream> #include<string> #include<algorithm> using namespace std; ...
  • * 然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词, * 包含这个单词就打印出“Yes”,不包含就打印出“No” * * @author Chill Lyn * */ public class TestArraySearch...
  • hadoop简单单词统计

    2018-07-09 22:30:13
    第一次实现hadoop上的程序,内含jar和用例,算迈出大数据的第一步吧。。
  • 输入一个包含多个单词的英文句子,单词间以空格分隔,标点符号后跟一个空格。定义一个函数,功能是用指定的符号把单词连接起来。 【输入形式】 第一行输入一个英文句子‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪...
  • 下面代码是从控制台读入数据 package test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;...import java.util.ArrayList;...import java.util.Collections;...
  • 超全(1.5万+)的英语单词sql文件,含翻译、例句、各种时态,直接导入mysql数据库
  • 数组查找操作:定义一个长度为10 的一维字符串数组,在每一个元素存放一个单词;然后运行时从命令行输入一个单词,程序判断数组是否包含有这个单词,包含这个单词就打印出“Yes”,不包含就打印出“No”。 import ...
  • 考研单词ANKI

    2019-01-05 23:44:46
    考研单词ANKI卡片,内涵Vocabulary.com的解释,coca词频,牛津搭配等一系列解释
  • 练习题(要求使用伪代码给出算法): 编写一个程序,用于统计文件中单词的总数,不同单词的数目。(假设输入文件中只包含字母和空格) eg: I love Beijing and I love Shanghai 单词总数:7 不同单词数目:5
  • python---字符串中出现单词次数

    千次阅读 2017-09-19 10:31:14
    python—字符串中出现单词次数>>> g 'i am xu wei bo,this is best men' >>> print [i for i in g.split() if i] ['i', 'am', 'xu', 'wei', 'bo,this', 'is', 'best', 'men'] >>>
  • //输入一个英文句子,统计句子中单词的个数 void main() { char s[256],prior=’ ‘; int i,count=0; printf(“输入一句英文句子:\n”); gets(s); for(i=0;s[i]!=’\0’;i++) { if(prior==’ '&...
  • 目前市面上单词软件千千万,哪一款才是我的菜?这个时候通过查看背单词最好的软件排名情况,能让我们快速找到适合自己的背单词软件。每个人基础不一样,比如有的人英语是零基础的,有的人英语是达到四级水平,他们两...
  • java统计一段英文中单词及个数

    万次阅读 2017-10-19 23:01:30
    public static void countWords(String str){ Map, Integer> map=new HashMap, Integer>(); Pattern p=Pattern.compile("\\b[a-zA-Z-]+\\b");//正则表达式 Matcher m=p.matc
  • python在单词表中查找包含所有元音字母aeiou的单词并打印 python单词表中查找所有的元音字母aeiou: 方法一: def claen(word): return word.strip().lower() def lookUpWord(word): newword = "" f...
  • 输入 1 行句子(不多于 200 个单词,每个单词长度不超过 100),只包含字母、空格。单词由至少一个连续的字母构成,空格是单词间的间隔。 试输出第 1 个最长的单词和第 1 个最短单词。 输入 一行句子。 输出 两行...
  • 用python实现:输入一段英文文章,求其总长度和单词数,并按字典顺序输出其包含的所有单词和每个单词的出现次数。要求输入,不是读取文件,总长度是字母+空格+符号数。求大佬解答!
  • 什么是倒排索引?

    千次阅读 2017-02-24 20:08:00
    以图7为例,假设用户输入的查询请求为单词3,对这个单词进行哈希,定位到哈希表内的2号槽,从其保留的指针可以获得冲突链表,依次将单词3和冲突链表内的单词比较,发现单词3在冲突链表内,于是找到这个单词,之后...
  • 新东方背单词5白金版升级工具
  • python编写背单词程序

    千次阅读 多人点赞 2020-07-23 16:10:15
    目录1 功能介绍2 文件准备3 源码 一年多前初学python时写的代码,这里分享给大家。 1 功能介绍 首先运行程序,进入欢迎界面。如下图,界面是一个小方框,可以...”是模仿百词斩APP的说法,可以将你觉得比较简单的单词
  • 首先要进入命令模式(按ESC退出INSERT模式) 然后输入:/单词

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 490,143
精华内容 196,057
关键字:

包单词