寫一段**,判斷乙個包括''的表示式是否合法(注意看樣例的合法規則。)
給定乙個表示式a,請返回乙個bool值,代表它是否合法。
測試樣例:
"[a+b*(5-4)]*}"
返回:true測試樣例:
"[a+b*(5-4)]*}"
返回:false解題
不考慮左右括號是否匹配,不考慮括號內是否由數字,如:2—1+()+');
map.put('(',')');
for(int i =0;i)
else
if(map.containsvalue(ch))else
} }
return
stack.isempty();
}}
上面注釋去除測試不過
這個題目好奇怪,竟然不需要考慮括號內是否有數字的情況,所有開始我考慮情況比較多,就不知道怎麼做了,討論中就是按照上面寫的
《去哪網程式設計題》表示式合法判斷
題目 程式設計題 表示式合法判斷 時間限制 3秒 空間限制 32768k 寫一段 判斷乙個包括 的表示式是否合法 注意看樣例的合法規則。給定乙個表示式a,請返回乙個bool值,代表它是否合法。測試樣例 a b 5 4 返回 true 解析 利用棧來做,當遇到 就出棧乙個括號字元。最後判斷棧是否為空,...
判斷表示式是否合法(推薦 )
time limit 1 sec memory limit 4 mb submit 375 solved 31 submit status 設s是乙個合法的表示式,e為乙個數字字串行,則合法的表示式可以表示為 e,e,e,s s s s s s s s s s s 等。e可以是全 0 的字串 請注意...
去哪兒筆試的三個程式設計題
1.對於乙個有序陣列,我們通常採用二分查詢的方式來定位某一元素,請編寫二分查詢的演算法,在陣列中查詢指定元素。給定乙個整數陣列a及它的大小n,同時給定要查詢的元素val,請返回它在陣列中的位置 從0開始 若不存在該元素,返回 1。若該元素出現多次,請返回第一次出現的位置。測試樣例 1,3,5,7,9...