當前位置:首頁 » 操作系統 » 匹配演算法測試

匹配演算法測試

發布時間: 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