(牛客2018校招真題05)彩色的磚塊(網易)

2021-09-22 20:12:49 字數 633 閱讀 2246

小易有一些彩色的磚塊。每種顏色由乙個大寫字母表示。各個顏色磚塊看起來都完全一樣。現在有乙個給定的字串s,s中每個字元代表小易的某個磚塊的顏色。小易想把他所有的磚塊排成一行。如果最多存在一對不同顏色的相鄰磚塊,那麼這行磚塊就很漂亮的。請你幫助小易計算有多少種方式將他所有磚塊排成漂亮的一行。(如果兩種方式所對應的磚塊顏色序列是相同的,那麼認為這兩種方式是一樣的。)

例如: s = "abab",那麼小易有六種排列的結果:

"aabb","abab","abba","baab","baba","bbaa"

其中只有"aabb"和"bbaa"滿足最多只有一對不同顏色的相鄰磚塊。

輸入包括乙個字串s,字串s的長度length(1 ≤ length ≤ 50),s中的每乙個字元都為乙個大寫字母(a到z)。
輸出乙個整數,表示小易可以有多少種方式。
輸入

abab
輸出

2
碾壓智商題。當重複字元出現超過2個,即相鄰字元必超過1,所以直接返回0即可。而重複字元為2個時,根據題意有2個,重複為1個時,有1個。。。。

#include #include int main()

牛客網 2018校招真題 安置路燈

題目 題目描述 小q正在給一條長度為n的道路設計路燈安置方案。為了讓問題更簡單,小q把道路視為n個方格,需要照亮的地方用 表示,不需要照亮的障礙物格仔用 x 表示。小q現在要在道路上設定一些路燈,對於安置在pos位置的路燈,這盞路燈可以照亮pos 1,pos,pos 1這三個位置。小q希望能安置盡量...

牛客網 2018校招真題 最大乘積

題目 給定乙個無序陣列,包含正數 負數和0,要求從中找出3個數的乘積,使得乘積最大,要求時間複雜度 o n 空間複雜度 o 1 解法一 思路 不論給定的陣列是什麼,最大的乘積只有兩種情況 1.三個最大的數的乘積 都是正數或者都是負數 2。三個最小的數的乘積 都是負數 選出給定陣列中的最大的三個數和最...

(牛客2018校招真題03)大整數相乘(拼多多)

有兩個用字串表示的非常大的大整數,算出他們的乘積,也是用字串表示。不能用系統自帶的大整數型別。空格分隔的兩個字串,代表輸入的兩個大整數 輸入的乘積,用字串表示 輸入 72106547548473106236 982161082972751393輸出 7082024482963453804084865...