leetcode1647_字元頻次唯一的最小刪除次數
題目如果字串 s 中 不存在 兩個不同字元 頻次 相同的情況,就稱 s 是 優質字串 。
給你乙個字串 s,返回使 s 成為 優質字串 需要刪除的 最小 字元數。
字串中字元的 頻次 是該字元在字串中的出現次數。
例如,在字串 "aab" 中,'a' 的頻次是 2,而 'b' 的頻次是 1 。
示例 1:輸入:s = "aab" 輸出:0
解釋:s 已經是優質字串。
示例 2:輸入:s = "aaabbbcc" 輸出:2
解釋:可以刪除兩個 'b' , 得到優質字串 "aaabcc" 。
另一種方式是刪除乙個 'b' 和乙個 'c' ,得到優質字串 "aaabbc" 。
示例 3:輸入:s = "ceabaacb" 輸出:2
解釋:可以刪除兩個 'c' 得到優質字串 "eabaab" 。
注意,只需要關注結果字串中仍然存在的字元。(即,頻次為 0 的字元會忽略不計。)
解題思路分析
1、排序+貪心;時間複雜度o(n),空間複雜度o(1)
總結medium題目,先對小寫字母統計並排序,然後遍歷即可
比較字串最小字母出現頻次
我們來定義乙個函式 f s 其中傳入引數 s 是乙個非空字串 該函式的功能是統計 s 中 按字典序比較 最小字母的出現頻次。例如,若 s dcce 那麼 f s 2,因為最小的字母是 c 它出現了 2 次。現在,給你兩個字串陣列待查表 queries 和詞彙表 words,請你返回乙個整數陣列 an...
字串 字串排序
頻率統計 將頻率轉換為索引 資料分類 回寫頻率統計 統計每個字元出現的次數 將頻率轉換為索引 確定不同字元首位置 從右到左檢查檢查鍵中的字元 public class lsd public class msd public static void sort string a private stat...
LeetCode 字串 反轉字串
反轉字串 編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列char的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列 使用 o 1 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。示例 1 輸入 h e l l o 輸出 o l ...