演算法 去除重複字元並使得字典序最小

2022-07-03 10:54:08 字數 444 閱讀 9036

給你乙個字串 s ,請你去除字串中重複的字母,使得每個字母只出現一次。需保證 返回結果的字典序最小(要求不能打亂其他字元的相對位置)。

leetcode

解題思路:利用單調棧的思想,新新增的從末尾新增,彈出比它大的棧頂元素,這樣就能保證有序,且字典序最大。不同的是,必須保證原有字母還存在乙個,所以,如果棧頂元素是剩下的唯一的乙個字母了,那就不能彈出它。

所以,該棧不是嚴格意義的單調棧。

class solution 

stringbuilder res = new stringbuilder();

// 將棧中的元素從底部彈出,就是答案了

while(!stack.isempty())

return res.tostring();

}}

Python合併字典鍵值並去除重複元素的例項

假設在python中有一字典如下 x 需要合併為 x 需要做到三件事 1.將字串轉化為數值列表 2.合併兩個列表並新增新的鍵值 3.去除重複元素 第1步通過常用的函式eval 就可以做到了,第程式設計客棧2步需要新增乙個鍵值並新增元素,第3步利用set集合的性質可以達到去重的效果,不過最後需要再將s...

VBS去除字串的重複項並統計重複字元出現的次數

介紹一下思路 ps 在這裡一定要注意其中的字串的替換函式replace函式,為了這個我可是折騰了不少時間 總體來說還是遍歷字串 思路一 1遍歷字串a去除字串a中所有的重複的字串後的字元,變成非重複的字串b 2迴圈遍歷字串b將所有的字串b中的單字元與字串a中的單字元進行比較,如果找到了重複的重複的字串...

LeetCode演算法學習三 無重複字元的最長子串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...