LeetCode #1347 Minimum Number of Steps to Make Two Strings Anagram 制造字母異位詞的最小步驟數

1347 Minimum Number of Steps to Make Two Strings Anagram 制造字母異位詞的最小步驟數

Description:

You are given two strings of the same length s and t. In one step you can choose any character of t and replace it with another character.

Return the minimum number of steps to make t an anagram of s.

An Anagram of a string is a string that contains the same characters with a different (or the same) ordering.

Example:

Example 1:

Input: s = "bab", t = "aba"
Output: 1
Explanation: Replace the first 'a' in t with b, t = "bba" which is anagram of s.

Example 2:

Input: s = "leetcode", t = "practice"
Output: 5
Explanation: Replace 'p', 'r', 'a', 'i' and 'c' from t with proper characters to make t anagram of s.

Example 3:

Input: s = "anagram", t = "mangaar"
Output: 0
Explanation: "anagram" and "mangaar" are anagrams.

Constraints:

1 <= s.length <= 5 * 10^4
s.length == t.length
s and t consist of lowercase English letters only.

題目描述:

給你兩個長度相等的字符串 s 和 t。每一個步驟中妒挎,你可以選擇將 t 中的 任一字符 替換為 另一個字符腿短。

返回使 t 成為 s 的字母異位詞的最小步驟數。

字母異位詞 指字母相同,但排列不同(也可能相同)的字符串。

示例:

示例 1:

輸出:s = "bab", t = "aba"
輸出:1
提示:用 'b' 替換 t 中的第一個 'a',t = "bba" 是 s 的一個字母異位詞俗孝。

示例 2:

輸出:s = "leetcode", t = "practice"
輸出:5
提示:用合適的字符替換 t 中的 'p', 'r', 'a', 'i' 和 'c',使 t 變成 s 的字母異位詞魄健。

示例 3:

輸出:s = "anagram", t = "mangaar"
輸出:0
提示:"anagram" 和 "mangaar" 本身就是一組字母異位詞赋铝。

示例 4:

輸出:s = "xxyyzz", t = "xxyyzz"
輸出:0

示例 5:

輸出:s = "friend", t = "family"
輸出:4

提示:

1 <= s.length <= 50000
s.length == t.length
s 和 t 只包含小寫英文字母

思路:

模擬
統(tǒng)計 s 和 t 的不同字符的個數
只需要看 s 比 t 多的字符, 這個數量實際上也是 t 比 s 少的字符
時間復雜度為 O(n), 空間復雜度為 O(1)

代碼:

C++:

class Solution 
{
public:
    int minSteps(string s, string t) 
    {
        vector<int> count(26);
        int result = 0, n = s.size();
        for (int i = 0; i < n; i++)
        {
            ++count[s[i] - 'a'];
            --count[t[i] - 'a'];
        }
        for (const auto& i : count) result += max(0, i);
        return result;
    }
};

Java:

class Solution {
    public int minSteps(String s, String t) {
        int count[] = new int[26], result = 0, n = s.length();
        for (int i = 0; i < n; i++) {
            ++count[s.charAt(i) - 'a'];
            --count[t.charAt(i) - 'a'];
        }
        for (int i : count) result += Math.max(0, i);
        return result;
    }
}

Python:

class Solution:
    def minSteps(self, s: str, t: str) -> int:
        return len(list((Counter(s) - Counter(t)).elements()))
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市沽瘦,隨后出現的幾起案子革骨,更是在濱河造成了極大的恐慌,老刑警劉巖析恋,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苛蒲,死亡現場離奇詭異,居然都是意外死亡绿满,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門窟扑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喇颁,“玉大人,你說我怎么就攤上這事嚎货¢裒” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵殖属,是天一觀的道長姐叁。 經常有香客問我,道長洗显,這世上最難降的妖魔是什么外潜? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮挠唆,結果婚禮上处窥,老公的妹妹穿的比我還像新娘。我一直安慰自己玄组,他們只是感情好滔驾,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布谒麦。 她就那樣靜靜地躺著,像睡著了一般哆致。 火紅的嫁衣襯著肌膚如雪绕德。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天摊阀,我揣著相機與錄音耻蛇,去河邊找鬼。 笑死驹溃,一個胖子當著我的面吹牛城丧,可吹牛的內容都是我干的。 我是一名探鬼主播豌鹤,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼亡哄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了布疙?” 一聲冷哼從身側響起蚊惯,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎灵临,沒想到半個月后截型,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡儒溉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年宦焦,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片顿涣。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡波闹,死狀恐怖,靈堂內的尸體忽然破棺而出涛碑,到底是詐尸還是另有隱情精堕,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布蒲障,位于F島的核電站歹篓,受9級特大地震影響,放射性物質發(fā)生泄漏揉阎。R本人自食惡果不足惜庄撮,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望毙籽。 院中可真熱鬧重窟,春花似錦、人聲如沸惧财。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至厅翔,卻和暖如春乖坠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背刀闷。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工熊泵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人甸昏。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓顽分,卻偏偏與公主長得像,于是被迫代替她去往敵國和親施蜜。 傳聞我的和親對象是個殘疾皇子卒蘸,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內容