牛客 3002 G eli和字串

2021-10-02 13:39:38 字數 883 閱讀 3491

eli拿到了乙個僅由小寫字母組成的字串。

她想擷取一段連續子串,這個子串包含至少k個相同的某個字母

她想知道,子串的長度最小值是多少?

注:所謂連續子串,指字串刪除頭部和尾部的部分字元(也可以不刪除)剩下的字串。例如:對於字串「arcaea」而言,「arc」、「rcae」都是其子串。而「car」、「aa」則不是它的子串。

第一行輸入兩個正整數n和k

輸入僅有一行,為乙個長度為n的、僅由小寫字母組成的字串。

如果無論怎麼取都無法滿足條件,輸出-1。

否則輸出乙個正整數,為滿足條件的子串長度最小值。

5 2

abeba

3
選擇「beb」子串,長度為3,其中包含相同的兩個'b'
使用vector d[26],按字母存入字串的下標,

使用minn=min(minn,d[i][j+k-1]-d[i][j]),掃一遍就好。

#include#include#includeusing namespace std;

int n,k;

char x[200005];

vectord[26];

int main()

int minn=200005;

bool flag=false;

for(int i=0;i<26;i++)

} }if(flag)

cout

cout<<"-1"

}

2020寒假牛客第一場 G eli和字串

1 某個字母不確定,無從下手 牛客競賽題解 一,簡單的佇列模擬 遍歷字串,每次 1 把每個字元放進乙個佇列que maxn 中,把每個字元 j int str i a 1 放進對應26個字母字首和陣列num 30 裡。2 直到某次str i 這個字母在num j 記錄的個數達到k次,讓字母從頭開始出...

牛客 倒置字串

經過函式後變為 beijing.like i 輸入描述 每個測試輸入包含1個測試用例 i like beijing.輸入用例長度不超過100 輸出描述 依次輸出倒置之後的字串,以空格分割 1.先把字串整體倒轉 反轉前 i like beijing.反轉後1 gnijied ekil i 2.把字元傳...

牛客陣列和字串2 5

基礎很不紮實,一邊學新的,一邊刷題好了 求距離 1006 求距離 牛客競賽語法入門班陣列字串習題 nowcoder.com 給你乙個1 n的排列,現在有一次機會可以交換兩個數的位置,求交換後最小值和最大值之間的最大距離是多少?第一行乙個數n 之後一行n個數表示這個排列 輸出一行乙個數表示答案示例1 ...