2018今日頭條筆試題 字元交換

2022-03-12 20:55:30 字數 834 閱讀 8618

**level: ** 2018演算法工程師筆試題

discription:

字串s由小寫字母構成,長度為n。定義一種操作,每次都可以挑選字串中任意的兩個相鄰字母進行交換。詢問在至多交換m次之後,字串中最多有多少個連續的位置上的字母相同?

第一行為乙個字串s與乙個非負整數m。(1 <= |s| <= 1000, 1 <= m <= 1000000)

乙個非負整數,表示操作之後,連續最長的相同字母數量。

example 1:

input: abcbaa 2

output: 2

note:

#include#include#include#include#includeusing namespace std;

vector> loc(26); //二維陣列初始化

int mem[1001][1001];

int dp(int start, int end, vectorloc)

else if (mem[start][end] != -1)

return mem[start][end];

else

}int main()

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

sort(nums, nums + 26);

cout << nums[25] << endl;

system("pause");

return 0;

}

今日頭條2018 筆試題2

定義兩個字串變數 s,m,再定義兩種操作,第一種操作 m ss s s 說明 s只會變為原來的2倍 第二中操作 s s m 假設s,m初始化如下 s a m s求最小的操作步驟數,可以將s拼接到長度等於n。示例1 輸入6,輸出3 示例2 輸入4,輸出2 思路 第一種操作,s變為原來的1倍 說明偶數的...

2017 08 22 今日頭條筆試題

有乙個值得分享的地方,是x排序之後對應y的問題 我用了乙個很大的陣列,以x為索引,y為陣列值,不需要用到map。其實也是因為我懶不想去學map操作了,下次試試用map。include include include using namespace std int main cin n x.clear...

今日頭條筆試題(一)

一列火車有n個車廂標記為1,2,3,4,5,6 n 現在因為某些原因,需要調整車廂的相對順序 例如需要將車廂順序調整為2,3,1,4,5,6 n 由於車廂龐大,且車廂只能停留在鐵軌上,所以不能隨心所欲的調整相對順序 現在只能利用兩條並行的鐵軌對車廂的順序進行調整 例如原序列為1,2的車廂 車廂1進入...