字串距離 2023年美團程式設計題

2021-08-17 10:36:08 字數 1068 閱讀 5530

題目描述:給出兩個相同的由字元a和b構成的字串,定義它們的距離為對應位置不同的字元的數量。如串「aab」與串「aba」的距離是2;串「ba」與串「aa」的距離是1;串「aba」與串」aba」的距離是0。下面給出兩個字串s和t,其中s的長度不小於t的長度。我們用|s|表示s的長度,用|t|表示t的長度,那麼在s中一共有|s|-|t|+1個與t長度相同的子串,現在你需要計算t串與這些|s|-|t|+1個子串的距離的和。

輸入:

第一行是字串s

第二行是字串t

s和t均由字元a和b組成,1<=|t|<=|s|<=10^5

例如:

輸入 aba

aab

輸出:

2解法一:暴力破解

時間複雜度o(m*n),暴力破解只能通過70%。

#include

#include

using

namespace

std;

int main()

res += count;

}cout

<< res << endl;

return

0;}

解法二:

思路:關注到只有a、b兩個字元,暴力破解不論有幾種字元都能解決。

第一步,計算s中從第乙個字元到第n個字元中的a(或b)的個數。

第二步,t中第i個字元只會跟s中的第i~(i+d)個字元進行比較,計算出所有這些比較的距離之和,並以這種方式遍歷這個字串t。

時間複雜度o(m+n)

#include

#include

using

namespace

std;

int pre[111111];

int main()

int ans = 0, d = s.size() - t.size() + 1;

for (int i = 0; i < t.size(); ++i)

else

}cout

<< ans << endl;

}

2018美團筆試字串問題

輸出對應的答案。in aab abaout 2in aaabb babout 5 題解 n o n o n include include include include include include include include include include include include ...

美團CODEM 字串

時間限制 1秒 空間限制 32768k 給出乙個正整數n,我們把1.n在k進製下的表示連起來記為s n,k 例如s 16,16 123456789abcdef10,s 5,2 11011100101。現在對於給定的n和字串t,我們想知道是否存在乙個k 2 k 16 使得t是s n,k 的子串。輸入描...

2018 美團 春招實習程式設計題 2

題目 給定 0 9 組成的字串,各字元出現的次數不定,求由字串不能組成的最小正整數。分析 package 實習面試筆試題 public class 美團筆試題 求最小不能組成的正整數 private static int getmaxnum string str 統計出現次數最小的 int mini...