括號配對問題的兩種思路總結

2021-08-19 08:38:31 字數 913 閱讀 7234

描述現在,有一行括號序列,請你檢查這行括號是否配對。輸入

第一行輸入乙個數n(0輸出

每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no

樣例輸入

3

[(])

(])([()])

樣例輸出

no

noyes

學過棧,就知道這道題應該用棧解決,附上**:

#include

#include

#include

using namespace std;

// 判斷字元是不是左括號型別

bool isleft(char c)

// 判斷右括號與左括號是否匹配

bool ismatch(char right, char left)

if (left == '[')

if (left == '');}}

// 判斷字串是否匹配

bool matching(char* s)

else

cs.pop();

}++s;

}if (!cs.empty())

return true;

}int main()

i=1;

while(i<=n)

}if(s[low]=='(' && s[high]==')' || s[low]=='[' && s[high]==']')

else break;

}if(low<=high && flag[i]!=1) flag[i]=0;

else flag[i]=1;

i++;

}i=1;

while(i<=n)

return 0;

}

有效括號的兩種思路

有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。一 陣列 1 空字串可被認為是有效字串,單獨判斷 3 字串的長度必須為偶數,否則不是有效括號 2 利用替換的思想 1 如果 成對出現,用 替換,相當於刪除 2 剩下的,如果有成對的,繼續替換 ...

兩種儲存思路

儲存 寬高 每個畫素的 rgba 值 位圖 儲存 寬高 每個幾何圖形 向量圖 一張,如果幾何圖形關係明確,用向量圖來儲存,不但空間占用少,而且資訊比位圖全。因為位圖沒有表達出幾何圖形的關係,在縮放時位圖只好失真。同理,儲存一系列資料時 如果不知道資料的關係,我們只好 像點陣圖一樣 把所有資料老老實實...

快速排序的兩種思路

選取最左端 low 為基準值,以公升序為例 從右向左 high low 查詢到乙個小於基準值的元素,再從左向右查詢乙個大於基準值的元素,再將兩者相交換。while arr j temp low從右向左 high low 查詢到乙個小於基準值的元素,將兩者相交換,再從左向右查詢乙個大於基準值的元素,再...