当前位置:首页 » 操作系统 » 匹配算法测试

匹配算法测试

发布时间: 2022-07-04 06:49:09

A. 括号匹配算法 java找出有多少种移除方案

括号匹配算法 java找出有多少种移除方案
mport java.util.Scanner;
import java.util.Stack;

/**
* @author Owner
*
*/
public class Main {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

int n= sc.nextInt();//3条测试数据数据

Stack<Character> stack = null;

while(n!=0){

//从控制台读入一个测试字符串[]() [(])
String str = sc.next();
//如果该输入字符串为奇数,说明不匹配
if(str.length() % 2 == 1){
System.out.println("No");
}else{
//说明字符是偶数
stack = new Stack<Character>();

//遍历第一条测试字符串[]() [(])
for(int i=0;i<str.length();i++){
if(stack.isEmpty()){
//如果栈是空的
stack.push(str.charAt(i));
}else if(stack.peek() == '[' && str.charAt(i) == ']' || stack.peek() == '(' && str.charAt(i) == ')'){
//说明此时栈中字符不是空的,并且符合,
stack.pop();
}else{

stack.push(str.charAt(i));
}
}

if(stack.isEmpty()){
//如果栈是空的,说明括号匹配
System.out.println("Yes");
}else{
//说明栈不为空,括号不匹配
System.out.println("No");
}
}

n--;
}

}
}

B. 课程设计题目: 模式匹配算法的设计与实现

你是南邮的么??知道答案告诉我一下啊

C. 通讯录拼音搜索模糊匹配的算法问题

我用java写了个简单的,你可以多测试下:

publicstaticvoidmain(String[]args){

String[]name={"wang","hai","bao"};

String[]tests={"whb","WaHB","wangHB","HB","wh","whbo","whba"};

for(Stringstring:tests){
System.out.println(string+":"+match(name,string));
}

}

publicstaticbooleanmatch(String[]source,Stringinput){

if(source==null||source.length==0||input==null||input.length()==0){
returnfalse;
}

Stringtemp;

//统一转小写
input=input.toLowerCase();

for(inti=0;i<source.length;i++){

temp=source[i].toLowerCase();

if(temp==null||temp.length()==0){
returnfalse;
}

//最后一步特殊处理
if(i==source.length-1){
if(temp.startsWith(input)){
returntrue;
}
}

//输入的字符完全匹配到
if(input.startsWith(temp)){
//匹配到后生成新的字符串
input=input.substring(0,input.indexOf(temp));
//System.out.println("temp:"+temp+" 匹配到后input:"+input);
}

//首字母匹配到
elseif(temp.startsWith(input.substring(0,1))){

input=input.substring(1);
//System.out.println("temp:"+temp+" 匹配到后input:"+input);
}else{
returnfalse;
}

//表示匹配结束
if(input.length()==0){
returntrue;
}

}

returnfalse;
}

D. 求 JAVA 字符串匹配 完美算法

只需要实例化 类Matching 设置参数 并调用m.getIndex()方法就OK 请测试... public class Test18{

public static void main(String[] args){
Matching m = new Matching();
m.setOrgStr("ALSKLSHFKDLLS");
m.setSubStr("LS");
System.out.println(m.getIndex());

}
}
class Matching{

String orgStr ="";
String subStr ="";

public void setOrgStr(String orgStr){
this.orgStr = orgStr;
}

public void setSubStr(String subStr){
this.subStr = subStr;
}

public String getIndex(){

StringBuffer sb = new StringBuffer("{");

//根据关键字subStr来拆分字符串orgStr所得的字符串数组
String[] sub = orgStr.split(subStr);

int keyLength = subStr.length(); //关键字长度
int keySize = 0; //关键字个数

int subSize = sub.length; //子字符串个数
int subLength = 0; //子字符串长度

if(!orgStr.endsWith(subStr)){
keySize = subSize-1;
}else
keySize = subSize; int[] index = new int[keySize];//关键字下标数组
for(int i=0;i<keySize;i++){
subLength = sub[i].length();
if(i==0){
index[i]=subLength;
}else
index[i]=index[i-1]+subLength+keyLength;
}

if(keySize>0){
int l = keySize-1;
for(int i=0;i<l;i++){
sb.append(index[i]+",");
}
sb.append(index[l]);//最后一个关键字下标
}else{
sb.append("NULL");
}
sb.append("}");

return sb.toString();
}

}

E. 是否有人知道百合网的超级匹配的算法,是根据什么来的

超级匹配的筛选后台中加入了一个复杂的数据计算模块和爱情顾问的人工挑选。这个模块的计算依据是金百合会员专享的深度恋爱测试结果和恋人图像的描述。通过深度恋爱测试的结果,能清楚的了解每个会员在恋爱情境下的心态和应激反应,还原出他的正常生活状态,帮他们寻找到真正能长久在一起和谐生活的恋爱对象。而爱情顾问将同时依据会员的恋人图像,借助筛选后台来帮助会员挑选出那些在“眼睛的缘分”上更为默契的匹配对象。通过这两个方式,超级匹配对象的质量得到了最有效的保证。

F. 编一个函数,函数的功能是测试字符串中的括号是否匹配。


publicintCheckBrackets(char*input)
{
char*p;
intl=0,m=0,n=0;
intflag=1;
p=input;
while(*p!='')
{
switch(*p)
{
case'(':
l+=flag;
flag*=2;
break;
case'[':
m+=flag;
flag*=2;
break;
case'{':
n+=flag;
flag*=2;
break;
case')':
l-=flag;
flag/=2;
break;
case']':
m-=flag;
flag/=2;
break;
case'}':
n-=flag;
flag/=2;
break;
}
if(l<0||m<0||n<0)
return1;
p++;
}
if(l==0&&m==0&&n==0&&flag==1)
return0;
else
return1;
}

G. 用栈实现括号匹配的检验

#include <stdio.h>
#include <string.h>

#define MAX_STACK 100

struct stStack
{
char szStack[MAX_STACK];
int nTop;
};

void InitStack(stStack& s)
{
s.nTop = -1;
}

char Push(stStack& s, char c)
{
if (s.nTop == MAX_STACK - 1)
return 0;

s.nTop ++;
s.szStack[s.nTop] = c;
return c;
}

char Pop(stStack& s)
{
if (s.nTop == -1)
return 0;

char c = s.szStack[s.nTop];
s.nTop--;
return c;
}

int Check(char* szText)
{
stStack s;
InitStack(s);
int nLen = strlen(szText);
for (int i = 0; i < nLen; i++)
{
char c = szText[i];

switch (c)
{
case '(':
case '{':
case '[':
Push(s, c);
break;

case ')':
if (Pop(s) != '(')
return 0;
break;
case '}':
if (Pop(s) != '{')
return 0;
break;
case ']':
if (Pop(s) != '[')
return 0;
break;
}
}
return 1;
}

int main()
{
char szText[100];
scanf("%s", szText);

if (Check(szText))
{
printf("合法\n");
}
else
{
printf("失败\n");
}
return 0;
}

H. 如何实现两个声音相似度匹配算法

作为自然语言理解的一项基础工作,词语语义相似度度量一直是研究的重点。语义相似度度量本身是一个中间任务,它是大多数自然语言处理任务中一个必不可少的中间层次,在自然语言处理中有着广泛的应用,如词义消歧、信息检索以及机器翻译等。 本文的核心内容是汉语词语语义相似度算法研究以及如何将其应用于跨语言信息检索(Cross-Language Information Retrieval, CLIR)领域。首先对语义相似度度量算法进行综述,然后重点描述基于HowNet的语义相似度度量算法,提出根据知识词典描述语言(Knowledge Dictionary Mark-up Language, KDML)的结构特性将词语语义相似度分为三部分进行计算,每部分采用最大匹配的算法,同时加入义原深度信息以区别对待不同信息含量的义原。较以往同类算法,其计算结果具有区分度,更加符合人的主观感觉。 本文尝试将所建立的汉语语义相似度度量模式应用于跨语言信息检索系统。跨语言信息检索结合传统文本信息检索技术和机器翻译技术,在多方面涉及到语义问题,是语义相似度良好的切入点。两者的结合主要体现在两方面:(1)将语义相似度度量应用于查询翻译,利用语义相似度对查询关键词进行消歧翻译,提高翻译质量;(2)将语义相似度应用于查询扩展,使扩展内容与原查询具有更高相关性,以提高检索的召回率和准确率。 本文提出相对客观的评价标准,如为单独衡量词义消歧的性能,而使用第三届词义消歧系统评价会议(The 3rd Evaluating Word Sense Disambiguation Systems, SENSEVAL-3)语料进行测试;为衡量应用语义相似度于跨语言检索后的性能,又使用第九届文本检索会议(The 9th Text Retrieval Conference, TREC-9) CLIR评价任务的查询集、语料库和结果集进行评估。这使得我们的实验结果相对公正客观,具有一定可比性。本文对原有英汉跨语言信息检索系统进行一定程度的改进,使得各种相关算法都可方便地在系统中进行集成,成为一个研究跨语言信息检索的实验平台,其系统的设计思想充分体现模块化和扩展性。 综上,本文通过综合分析主流的语义相似度算法,而提出一种新的基于HowNet的汉语语义相似度算法,并给出其在英汉跨语言信息检索中的尝试性应用,希望能给相关领域的研究者有所借鉴。

I. 求java全字替换算法、全字匹配算法

没做过,只是想到几个思路:


  1. 如果文本量比较少(几千或者上万,具体没有测试过)并且要查询和替换的目标在正则中不是很复杂的话,使用正则表达式就可以实现快速的文本的查找和替换,并不需要自己写算法。如果文本量很大,就需要自己再想办法了。

  2. 如果文本量比较大,可以将文本存储数据库中,数据库提供了文本的查找和替换的功能,并 且此功能已经相当完善,调用相应的数据库函数可以实现查找和替换。

  3. 如果你只是想学习文字处理上的一些算法,而非实现查找和替换的功能的话,就当上面什么都没说好了.....

J. 数据结构(c++)字符串 模式匹配算法问题,对高手来说只要写一点点

恩,网络提问太差了 我都丢了几次高分都没有成功!
我估计丢了500分了不是乱答就是没通过,分又没有

热点内容
hp存储扩容 发布:2024-11-17 23:29:16 浏览:569
在ftp中put表示什么 发布:2024-11-17 23:29:12 浏览:383
mvc多文件上传 发布:2024-11-17 23:13:56 浏览:155
玩游戏硬盘缓存32m 发布:2024-11-17 23:03:42 浏览:525
蓝光存储系统 发布:2024-11-17 23:03:41 浏览:436
地平线4提示配置低于最低怎么办 发布:2024-11-17 22:54:38 浏览:610
注册银行卡账户密码填什么 发布:2024-11-17 22:54:35 浏览:537
java压缩上传图片 发布:2024-11-17 22:26:59 浏览:627
plc编程课件 发布:2024-11-17 22:18:23 浏览:469
我的世界服务器信号一直在检测 发布:2024-11-17 22:09:52 浏览:547