用陣列儲存,目的是找到乙個個完整的括號組,即括號組裡面左括號,右括號相等。對每個括號組進行處理。
首先遍歷一組,記錄有多少個左括號。給每個陣列元素乙個編號,是陣列下標加一。再遍歷陣列,每找到乙個右括號,就往前找乙個左括號。
找到一對後,用乙個二維陣列記錄左右括號的位置。為了避免左括號重複被找,每找到一對,就改變編號成乙個特殊數字。
最後根據輸出的需要,需要將陣列裡的左括號編號從小到大輸出,需要查詢,記錄。需要記錄result_array的值,因為在排序時不斷改變原本陣列的值,所以在最後輸出,需要乙個初始的陣列。
int main()
; int remark_array[8]=;
for(int i=0;i<8;i++) remark_array[i]=i+1;
int sum_left;
int result_array[4][2];
int p=0;
int sort_array[4]=;
int right_now_location;
int left_location;
for(int j=0;j<8;j++)
result_array[p][0]=left_location+1;
result_array[p][1]=right_now_location+1;
p++;
remark_array[left_location]=-1;
remark_array[right_now_location]=-1;}}
int mid_array[4][2];
for(int i=0;i<4;i++)
for(int j=0;j<4;j++)
mid_array[i][j]=result_array[i][j];
int min_num=0;
int min;
for(int i=0;i}
sort_array[i]=min_num;
result_array[min_num][0]=100001;
}for(int i=0;i<4;i++)
}
乙個演算法題 括號匹配問題。
問 給予乙個字串為 請寫出程式求出其有多少對 一般這種問題都是想讓你通過資料結構去處理,仔細回想一下我們學過的資料結構,棧的先進後出是否能處理這個問題?將字串遍歷,遇到左方括號 時將其壓入棧中,遇到右方括號 時取出棧頂元素匹配,並將對數加1,這樣最後我們就求出來能有多少對方括號了。棧的示意圖 流程圖...
括號匹配(兩種演算法的完成)
題目描述 pipi給你乙個合法的括號序列,希望跟你按左括號下標遞增順序給出每對括號在序列中的下標。下標從1開始 輸入多組資料 第一行包括乙個只包含 的字串,保證輸入的括號匹配序列合法,長度不超過100000 輸出按左括號下標遞增順序給出每對括號在序列中的下標。樣例輸入 copy 樣例輸出 copy ...
solr處理括號的乙個bug
這兩天碰到solr的乙個bug,在括號中使用非表示式,造成沒有任何結果命中 檢索到這個已經有人提bug了,indexed documents id 1,userid 0,accountid 1 id 2,userid 0,accountid 1 id 3,userid 1,accountid 1 i...