括號(hào)匹配求解

Problem Description:

給一組包含[]()兩種括號(hào)的序列,檢查是否是合法的。如:

()[],([]),[()]是合法的;

()),[(),]()[,([)]是非法的。


Input:

輸入包含多組測(cè)試數(shù)據(jù),對(duì)于每組數(shù)據(jù),輸入一個(gè)只包含 '[' , ']' , '(' , ')' ,四種字符的括號(hào)序列S(1<=length(S)<=100000);


Output:

對(duì)于每組數(shù)據(jù),如果括號(hào)序列合法輸出Yes,否則輸出no。


Sample Input:

())

[(])

([[]()])


Sample Output:

No

No

Yes

思路:這題開(kāi)始是想用兩個(gè)數(shù)組,一個(gè)一維數(shù)組存儲(chǔ)輸入的數(shù)據(jù),另一個(gè)二維數(shù)組是做判斷用的,大小是a[2][6],二維數(shù)組預(yù)先會(huì)確認(rèn)各個(gè)元素,每個(gè)元素對(duì)應(yīng)一個(gè)括號(hào),如:a[0][0]存放‘(’,a[0][1]存放‘)’,這樣二維數(shù)組的第一行存放所以會(huì)出現(xiàn)的括號(hào),第二行就是“T”或者“F”(第二行的初始值為F,只有當(dāng)輸入的數(shù)據(jù)與二維數(shù)組第一行元素對(duì)應(yīng)時(shí)才會(huì)變?yōu)門(mén))用于簡(jiǎn)單的判斷輸入數(shù)據(jù),,這樣最后在用三條條件判斷語(yǔ)句判斷左右括號(hào)是否成對(duì)出現(xiàn)即可,但是第一次做完這道題并不能通過(guò),因?yàn)樗荒軐?duì)重復(fù)的括號(hào)進(jìn)行規(guī)避,例如(()這樣最后的結(jié)果也是true.所以我最后又改了方法,就是暴力求解,而且也數(shù)據(jù)不大.

代碼:

#include <stdio.h>

#include <string.h>

int main(void) {

bool flag1, flag2, flag3;

while(1) {

flag1 = true, flag2 = true, flag3 = true;

char s[10];

gets(s);

int length = strlen(s);

for(int j=0; j<length; j++){

if(s[j] == '('){

for(int i=1; i<length; i++)

if(s[i] == ')'){

flag1 = true;

break;

}

else

flag1 = false;

}

if(s[j] == '['){

for(int i=1; i<length; i++)

if(s[i] == ']'){

flag2 = true;

break;

}

else

flag2 = false;

}

if(s[j] == '{'){

for(int i=1; i<length; i++)

if(s[i] == '}'){

flag3 = true;

break;

}

else

flag3 = false;

}

}

if(flag1 == true && flag2 == true && flag3 == true)

printf("true\n");

else

printf("false\n");

}

return 0;

}?


圖片發(fā)自簡(jiǎn)書(shū)App
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,246評(píng)論 0 38
  • 貪心算法 貪心算法總是作出在當(dāng)前看來(lái)最好的選擇。也就是說(shuō)貪心算法并不從整體最優(yōu)考慮,它所作出的選擇只是在某種意義上...
    fredal閱讀 9,422評(píng)論 3 52
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些閱讀 2,142評(píng)論 0 2
  • 開(kāi)始學(xué)習(xí)財(cái)報(bào),堅(jiān)信翁量說(shuō)過(guò)的一句話“幾百元的學(xué)費(fèi)不交,就入手股市結(jié)婚心甘情愿陪幾千”,堅(jiān)持學(xué)習(xí),努力!??!
    呵呵_5a81閱讀 172評(píng)論 0 0
  • 過(guò)去的很多事的確教會(huì)人低調(diào)少說(shuō)話多做事 說(shuō)白了就和劣質(zhì)護(hù)膚品一樣 把原本皮膚厚厚刮掉一層, 所有皮膚問(wèn)題就都迎刃而...
    楠風(fēng)Dawn閱讀 158評(píng)論 0 0

友情鏈接更多精彩內(nèi)容