演算法題(五十四) 網易2017筆試題 暗黑字串

2021-09-09 05:38:27 字數 624 閱讀 3871

乙個只包含'a'、'b'和'c'的字串,如果存在某一段長度為3的連續子串中恰好'a'、'b'和'c'各有乙個,那麼這個字串就是純淨的,否則這個字串就是暗黑的。例如:

baacaaccbaaa 連續子串"cba"中包含了'a','b','c'各乙個,所以是純淨的字串

aabbccaabb 不存在乙個長度為3的連續子串包含'a','b','c',所以是暗黑的字串

你的任務就是計算出長度為n的字串(只包含'a'、'b'和'c'),有多少個是暗黑的字串。

輸入乙個整數n,表示字串長度(1 ≤ n ≤ 30)
輸出乙個整數表示有多少個暗黑字串
示例1

2 3
9 21
思路**於牛客網

網易9 9筆試題

一 重排數列 判斷數列重排之後是否可以滿足a i a i 1 是4的倍數 想複雜了。也不用動態規劃,直接統計數中4的倍數,不是4的倍數偶數和奇數的個數就好了。滿足cnt2 0時,cnt4 cnt1 1 或者cnt2 0時,cnt4 cnt1 時就滿足,否則不滿足 include using name...

網易2017內推筆試題

有 n 個學生站成一排,每個學生有乙個能力值,牛牛想從這 n 個學生中按照順序選取 k 名學生,要求相鄰兩個學生的位置編號的差不超過 d,使得這 k 個學生的能力值的乘積最大,你能返回最大的乘積嗎?輸入描述 每個輸入包含 1 個測試用例。每個測試資料的第一行包含乙個整數 n 1 n 50 表示學生的...

網易2017內推筆試題

如果乙個數字序列逆置之後跟原序列是一樣的就稱這樣的數字串行為回文序列。例如 是回文序列,不是回文序列。現在給出乙個數字序列,允許使用一種轉換操作 選擇任意兩個相鄰的數,然後從序列移除這兩個數,並用這兩個數字的和插入到這兩個數之前的位置 只插入乙個和 現在對於所給序列要求出最少需要多少次操作可以將其變...