**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進入...