華為2019校招筆試

2021-09-27 01:42:02 字數 1782 閱讀 7573

示例2

示例**

常用的邏輯運算有and(表示為&),or(表示為|),not(表示為!),他們的邏輯是:

1&1=1 1&0=0 0&1=0 0&0=0

1|1=1 1|0=1 0|1=1 0|0=0

!0=1 !1=0

其中,他們的優先關係為:not(!)>and(&)>or(|);

例如:

a|b&c 實際是 a(b&c)  

a&b|c&d 實際是 (a&b)|(c&d)

!a&b|c 實際是 ((!a)&b)|c

1.測試用例中間無空格,無需考慮空格

2.測試用例表示式中只會出現如下字元:

0,1,(,),&,|,!
3.測試用例所給的輸入輸出都是合法的。無需考慮非法輸入。

4.測試用例表示式長度不會超過128個字元。

5.括號可以巢狀。

1|(1&0) = 1

1&0|0&1 = 0

!0&1|0 = 1

((!0&1))|0 = 1

!(1&0)|0&1
1
!(1&0)&0|0
0
public class solution 

//對字尾表示式進行運算的函式

private int numbercalculate(string postfix) throws exception else

if ('|' == c)

}//將運算結果壓入運算元棧中

st.push(d3);

} else

} return (int) st.pop();//返回運算結果

} //將算術表示式轉換為字尾表示式的函式,結果以字串的形式返回

private string convertopostfix(string expression) throws exception //為右括號

else if (iscloseparent(c))

}//左括號前面有!則pop

char temp = st.pop();

if (temp == '!') else

}//為運算子

else if (isoperator(c)) //棧取出的字元優先順序比c低,則將取出的字元重新入棧

if (ac != ' ')

}st.push(c); //將c入棧

}//為運算元,直接串聯到postfix內

else

}}//當表示式讀完就將算術棧pop出加入postfix

while (!st.isempty())

return postfix;

} //判斷字元為運算子

private boolean isoperator(char c)

//判斷字元為左括號

private boolean isopenparent(char c)

//判斷字元為右括號

private boolean iscloseparent(char c)

//判斷演算法的優先順序

private int priority(char c)

if (c == '&') else if (c == '|') else return 0;

}}

京東 2019校招筆試 對比

現有n個物品,每個物品有三個引數 ai bi ci 定義i物品不合格品的依據是 若存在物品 j 且aj ai bj bi cj ci,則稱i物品為不合格品。現給出n個物品的a,b,c引數,請你求出不合格品的數量。第一行包含乙個整數n 1 n 500000 表示物品的數量。接下來有n行,每行有三個整數...

2019校招實習筆試彙總

mark下遇到的筆試題吧 招行演算法 同學遇到的題,筆試後交流了下思路,由於a範圍比較小,所以可以暴力 搜尋剪枝 加用集合和字典優化。複雜度大概o n logn 有n種不同的化學試劑。第i種有ai公升。每次實驗都要把所有的化學試劑混在一起,但是這些試劑的量一定要相等。所以現在的首要任務是把這些化學試...

位元組跳動2019校招前端筆試

題目描述 開心消消樂 給定乙個一維的正整數陣列,逐次選擇其中乙個數做消除,消除所獲得的分數為當前數字和左右相鄰數字的乘積 當左邊或者右邊沒有數字可以認為是1 e.g.輸入陣列 3,1,5,8 step1 消除1 獲得分數 15 3x1x5,陣列變為 3,5,8 step2 消除5,獲得分數 120 ...