【題目描述】
小林與亮亮正在做乙個遊戲。小林隨意地寫出乙個字串,字串只由大寫字母組成,然後指定乙個非負整數m
mm,亮亮可以進行至多m
mm次操作,每次操作為交換相鄰兩個字元。亮亮的目標是使得操作後的字串出現最長相同的字元的長度最大。你能幫亮亮計算一下這個最大長度是多少嗎?
【輸入格式】
第一行乙個字串sss。
第二行乙個整數mmm。
【輸出格式】
只有乙個整數,表示所求的最大長度。
【樣例輸入】
abccdcddc
4
【樣例輸出】
4
【資料規模】
對於20
%20\%
20%的資料,字串長度l
<=10
,m
<=6
l<= 10, m <= 6
l<=1
0,m<=6
;對於另外20
%20\%
20%的資料,m=0
m=0m=
0;對於另外20
%20\%
20%的資料,m
>=l
∗l
m >= l*l
m>=l
∗l;對於另外 20
%20\%
20%的資料,字串中只含有 a,b
a,ba,
b 兩個字母。
對於 100
%100\%
100%
的資料,l
<=50
,0
<=m
<
=5000
l<=50, 0 <= m <= 5000
l<=5
0,0<=m
<=5
000。
列舉每乙個字母,預處理出每乙個由相同字母組成的連續區間,列舉每乙個區間,將離此區間最近的相同字母移到此區間旁,記錄操作次數,超過m
mm次則不能移。答案記錄每一次移完後相同連續區間的最大值。
**如下:
#include#define n 100
using namespace std;
char s[n];
int a[n];
int m,cnt,l,flag;
int maxx=-1e9;
struct nodech[n];
int main()
else if(y==l+1)
else
else
}if(ans>m)
}maxx=max(maxx,r-l+1);
} }cout
}
字串問題 字串的統計字串
題目 給定乙個字串str,返回str的統計字串。例如,aaabbadddffc 的統計字串為 a 3 b 2 1 d 3 f 2 c 1 補充題目 給定乙個字串的統計字串cstr,再給定乙個整數index,返回cstr所代表的原始字串上第index個字元。例如,a 1 b 100 所代表的原始字串上...
leetcode刷題 字串 反轉字串
給定乙個字串 s 和乙個整數 k,你需要對從字串開頭算起的每隔 2k 個字元的前 k 個字元進行反轉。如果剩餘字元少於 k 個,則將剩餘字元全部反轉。如果剩餘字元小於 2k 但大於或等於 k 個,則反轉前 k 個字元,其餘字元保持原樣。示例 輸入 s abcdefg k 2 輸出 bacdfeg 該...
字串面試題 字串逆序
字串逆序可以說是最經常考的題目。這是一道入門級的題目。給定乙個字串s,將s中的字元順序顛倒過來,比如s abcd 逆序後變成s dcba 基本上沒有這麼考的,放在這裡主要是為了和後面的原地逆序做個對比。很簡單,直接分配乙個與原字串等長的字元陣列,然後反向拷貝一下即可。char reverse cha...