網易校招題(C 語言)

2021-08-07 10:56:27 字數 666 閱讀 8015

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

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

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

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

我的思路是:用乙個a[26]的陣列,去統計字串中有沒有出現相應的字母,不管出現多少次,出現了就置『1』,比如'a'出現2次,那麼a[0]就是1,最後統計a陣列的和,等於2,輸出2;等於1,輸出1;其他輸出0;

輸入包括乙個字串s,字串s的長度length(1 ≤ length ≤ 50),s中的每乙個字元都為乙個大寫字母(a到z)。
輸入例子1:

abab

輸出例子1:

2
#include#include#includeusing namespace std;

int main()

;for(int i=0;i

網易校招程式設計題

define crt secure no warnings 1 include include include includeusing namespace std 小易準備去魔法王國採購魔法神器,購買魔法神器需要使用魔法幣,但是小易現在一枚魔法幣都沒有,但是小易有兩台魔法機器可以通過投入x x可以...

網易校招第4題

小易有乙個長度為n的整數序列,a 1,a n。然後考慮在乙個空序列b上進行n次以下操作 1 將a i放入b序列的末尾 2 逆置b序列 小易需要你計算輸出操作n次之後的b序列。輸入描述 輸入包括兩行,第一行包括乙個整數n 2 n 2 10 5 即序列的長度。第二行包括n個整數a i 1 a i 10 ...

網易校招第8題

小易非常喜歡擁有以下性質的數列 1 數列的長度為n 2 數列中的每個數都在1到k之間 包括1和k 3 對於位置相鄰的兩個數a和b a在b前 都滿足 a b 或 a mod b 0 滿足其一即可 例如,當n 4,k 7 那麼,它的長度是4,所有數字也在1到7範圍內,並且滿足第三條性質,所以小易是喜歡這...