2019騰訊春招筆試 最小覆蓋子串

2021-09-12 09:26:32 字數 755 閱讀 9622

當時題目是以數字為字串的例子,道理都一樣,後來發現leecode上有這道題

給定乙個字串 s 和乙個字串 t,請在 s 中找出包含 t 所有字母的最小子串。

示例:輸入: s = 「adobecodebanc」, t = 「abc」

輸出: 「banc」

說明:如果 s 中不存這樣的子串,則返回空字串 「」。

如果 s 中存在這樣的子串,我們保證它是唯一的答案。

思路:雙指標的滑動視窗,左指標指住視窗的左端(乙個含有t串元素的值),右指標指住已經是子串的視窗的最右邊(此時視窗包含了t串),然後此時記錄下這個視窗的長度,左指標釋放乙個元素(即向右移動乙個),繼續移動右指標看是否還有滿足的視窗,若有,比較視窗長度,保持最小值。

在上述思路中利用mapfreq記錄t串中元素出現的次數,使用乙個begin記錄最小視窗的最左邊界。

最重要的是,在遍歷s的時候,freq[s[right]]每次都要要減一。

class solution 

int minlength = right - left + 1;

if (minlength < minv)

freq[s[left]]++;

left++;

count--;

}right++;

} if (minv != int_max)

return s.substr(begin, minv);

return "";

}};

筆試題22 最小覆蓋子串

題目描述 給你乙個字串 s 乙個字串 t,請在字串 s 裡面找出 包含 t 所有字母的最小子串。即要求在源字串s中找到長度最短的子串,這個子串包含目標字串t中的所有字元,字元順序沒有要求。示例 輸入 s adobecodebanc t abc 輸出 banc 說明 如果 s 中不存這樣的子串,則返回...

2016騰訊春招軟體研發實習筆試

第一道題 求有刪除情況的最長回文子串 題目 解題思路 這個題嚴格意義上來說,刪除了字元就談不上回文串了,既然有刪除,那估計考察的不是回文串,而是其他的,但是這個東西又有回文串的特點,細想一下 那就是不連續的回文串,想到不連續,就容易使人想到最長公共子串行,把源字串逆序之後對比兩個字串發現 我靠,這不...

2019春招多益網路筆試題回憶

軟體研發崗位 選擇題涉及知識點 快速排序演算法 排序演算法出了好幾道題 最壞的情況下,氣泡排序,歸併排序,快速排序,希爾排序哪種排序演算法時間複雜度最 填空題涉及的知識點 乙個具有n個結點的二叉樹,有m個葉子結點,計算二叉樹度為1的結點個數 關係資料模型由什麼組成 問答題翻譯一段英文 資料庫事務及其...