/**
* 希望能幫上你
* 有什麼需要修改:請郵件[email protected]
*/
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class TestArray {
/**
* 第一組k[i]: 500,501,502 //球編號
第二組h[j]:500=1,502=1,500=2,502=3 / /球編號=幾號箱子
if( 502==502))//兩組的球編號匹配{
502-1 3
}
目標:匹配相同後,得到一個二維數組關系如下
500 1 2
502 1 3
問題補充:
匹配意義:如2組都有相同的編號,匹配後,攝入該編號屬於的 箱子
*/
public static void main(String[] args) {
/**
* 球編號
*/
String[] ballNumbers={"500","501","502"};
/**
* 球與組號 的關系
*/
String[][] relations={
{"500","1"},
{"502","1"},
{"500","2"},
{"502","3"},
{"502","2"},
{"502","4"},
{"502","3"}};
/**
* 遍歷 比較
*/
Map<String,String> resultMap=new HashMap<String,String>();
for(int i=0;i<ballNumbers.length;i++){
String ballNum=ballNumbers[i];
for(int j=0;j<relations.length;j++){
String key=relations[j][0];
String value=relations[j][1];
if(ballNum.equals(key)){
boolean exsits=resultMap.containsKey(ballNum);
if(exsits){
String val=resultMap.get(ballNum);
val=val+":"+value;
resultMap.put(ballNum, val);
}else{
resultMap.put(ballNum, value);
}
}
}
}
/**
* 列印結果 測試
*/
printResult(resultMap);
}
private static void printResult(Map<String, String> resultMap) {
Set<String> keys=resultMap.keySet();
for(String key:keys){
System.out.println(key+"="+resultMap.get(key));
}
}
}
② java中怎麼快速的在很長的一串字元串中匹配一個一個字元串或者字元,不使用循環
假設你說的第一個字元串是A,第二個是B 判斷A中是否有一個字元或者一段字元串包含於B中: boolean ifContrain = false; for(int i = 0 ; i < A.length - 1 ; i ++ ) { for(int j = i + 1 ; j < A.length ; j++ ) {
③ 如何用java實現多個字元串的快速匹配搜索
要判斷boy是不是後者中的一部分,不用循環,只要用String類的indexOf函數就行了。
代碼如下:
public class HH {
public static void main(String[] args) {
String s="he is a boy";
int result=s.indexOf("boy");
if(result>=0){
System.out.println("boy是he is a boy的一部分");
}else{
System.out.println("boy不是he is a boy的一部分");
}
}
}
運行結果:
boy是he is a boy的一部分
④ 求 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();
}
}
⑤ java 超級簡單 匹配演算法問題,在線等(追加分數)
貌似這個必須要對每個都遍歷的吧。本身並無規律可言,用二分法怎麼用呢?
⑥ 多個方法具有同樣的名稱和相同數目的參數時,java編譯器要確定如何匹配的演算法步驟
方法同樣名字和同樣數目參數,需要看參數的類型匹配
如果是一個介面的方法,有不同的實現類,看使用的對象是誰
⑦ 求java全字替換演算法、全字匹配演算法
沒做過,只是想到幾個思路:
如果文本量比較少(幾千或者上萬,具體沒有測試過)並且要查詢和替換的目標在正則中不是很復雜的話,使用正則表達式就可以實現快速的文本的查找和替換,並不需要自己寫演算法。如果文本量很大,就需要自己再想辦法了。
如果文本量比較大,可以將文本存儲到資料庫中,資料庫提供了文本的查找和替換的功能,並 且此功能已經相當完善,調用相應的資料庫函數可以實現查找和替換。
如果你只是想學習文字處理上的一些演算法,而非實現查找和替換的功能的話,就當上面什麼都沒說好了.....
⑧ java的權重匹配演算法技術求教
網站權重其實是指網路
而網路權重就是指網站獲取流量的能力.根據你網站獲取流量的能力來劃分權重等級.下面給出的就根據流量的多少來劃分權重的數據.
網路預計流量1~99 權重1
網路預計流量100~499 權重2
網路預計流量500~999 權重3
網路預計流量1000~4999 權重4
網路預計流量5000~9999 權重5
網路預計流量10000~49999 權重6
網路預計流量50000~199999 權重7
網路預計流量200000~999999 權重8
網路預計流量1000000以上 權重9」
另外要說的 就是網路權重是第三方根據研究網路的出來的結論.網路自身是沒有這個說法的.
⑨ 用JAVA實現快速排序演算法
public void quickSort(int left,int right,int a[])
{
int l=left;
int r=right;
int pivot=a[(l+r)/2];//轉軸數
int temp=0;
while(l<r)
{
while(a[l]<pivot)l++;
while(a[r]>pivot)r--;
if(l>=r)break;
temp=a[l];
a[l]=a[r];
a[r]=temp;
if(a[l]==pivot)r--;
if(a[r]==pivot)l++;
}
if(l==r)
{
l++;
r--;
}
if(left<r)quickSort(left,r,a);
if(right>l)quickSort(l,right,a);
}
⑩ 快速查找演算法 具體文字描述 附java程序更好 拜託各位了
快速查找演算法 有叫做二分發,前提是必須對有序數組中的元素進行遞歸查找, 首先假設目標在數組中中間位置,與中間位置比較,如大於,則重左側開始查找,如小於,則右側開始查找,這樣每次查找都能排除當前的一半,