題目描述:給出兩個相同的由字元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...