牛客巔峰賽S2鑽石 王者場B題 牛牛與字串2

2021-10-11 21:36:29 字數 430 閱讀 7485

牛牛拿到了乙個字串。他想知道除去字串本身以外,這個字串最大的公共前字尾的長度是多少?

例如,對於字串ababa而言,「aba」即是它的字首,也是它的字尾,且是最長的公共前字尾,因此最大的長度是3。

牛牛無法解決該問題,所以他只好向你求助,給定乙個只包含大寫字母的字串s,返回除去字串本身以外公共前字尾最大長度,如果沒有任何乙個公共前字尾滿足要求,返回-1即可。

1≤∣s∣≤106,且字串中只包含大寫字母

類似於kmp演算法,用乙個指標維持字首,另外乙個指標掃瞄字串

class solution 

}if(index == 0)//遍歷到最後指標還在第乙個位置,說明沒有最長

return -1;

return index;//指標左部分為最大長度

}};

牛客程式設計巔峰賽S2第2場

鑽石 王者 先從kk k塊糖果中拿出n nn塊糖果平均分給n nn個朋友,剩下的糖果再和牛牛一起平分,答案 k n n 1 frac n 1k n 三個木棒的構不成三角形的邊界情況就是a b c a b c a b c,那麼對於總的木棒長度固定,只要滿足斐波那契數列即可。這個題就是考察層次遍歷的時候...

牛客程式設計巔峰賽S2第4場

又沒中獎 題目描述 牛牛最近很喜歡擲硬幣,由於他今天很無聊,所以他在家擲了n次硬幣,如果這n次硬幣全部朝上或者全部朝下牛牛就很開心,請問牛牛開心的概率是多少。每次擲硬幣朝上的概率與朝下的概率相同 示例1輸入複製1 返回值複製 1.00 說明概率為1,四捨五入保留兩位小數的字串為 1.00 示例2輸入...

牛客程式設計巔峰賽S2第8場

牛牛想把乙個數拆成兩個不相等的正整數之和,他想知道一共有多少種拆法,只不過他不知道該如何解決這個問題,所以他想請你幫忙。給定乙個數n,返回將這個數n拆成兩個不相等的正整數之和一共有多少種拆法。注 3 1 2和3 2 1視為同一種拆法 輸入返回值class solution 題目描述牛牛有現在有n個物...