文字列のリストを考えると、文字列が整数の分数を表す整数、「+」、「D」、「C」を含有する「D」がかなりの割合を示した後に、「+」は二つの重要な部分を表し、二回、有効なポイント値を削除するの代わりに「C」、そして最終的にはすべての有効なとスコアを見つけます。
例:
入力[ "5"、 "2" 、 "C"、 "D"、 "+"]、 無効出力30.2の数は、 'Dは、' + '+' 5 * 2であり、5 * 2であります5,5 + 0 + 10 +(10 + 5)= 30
クラス解決{ パブリック: int型 calPoints(ベクトル< ストリング >&OPS){ スタック < INT > stackRes。 以下のために(int型 i = 0 ; iはops.sizeを()<; iは++ ){ 場合(OPS [I] [ 0 ] == ' C ' ){ 場合(!{stackRes.empty()) stackRes.pop(); } } そう であれば(OPS [I] [ 0 ] == ' D" ){ もし(!StackRes.empty()){ int型 NNUM = stackRes.top(); NNUM * = 2 ; stackRes.push(NNUM)。 } } そうで あれば(OPS [I] [ 0 ] == ' + ' ){ 場合(!StackRes.empty()){ int型 NNUM = stackRes.top()。 stackRes.pop(); INT -ēnsumusNNUM = + stackRes.top()。 stackRes.push(NNUM)。 stackRes.push(nSum)。 } } 他{ stackRes.push(ATOI(OPS [I] .c_str()))。 } } int型 nResRum = 0 。 一方、(!stackRes.empty()){ nResRum + = stackRes.top()。 stackRes.pop(); } 戻りnResRumと、 } }。
番号は、公開を心配するかもしれ面接のスキルについての詳細を学びます