面試題 01 01 判定字元是否唯一

2022-07-10 18:24:11 字數 1003 閱讀 2055

面試題 01.01. 判定字元是否唯一

實現乙個演算法,確定乙個字串 s 的所有字元是否全都不同。

示例 1:

輸入: s = "leetcode"

輸出: false

示例 2:
輸入: s = "abc"

輸出: true

限制:
0 <= len(s) <= 100

如果你不使用額外的資料結構,會很加分。

使用unordered_set容器,該容器自動去重,最後比較容器的size與原字串的size即可知道字串是否重複。

class solution 

return cus.size() == astr.size();}};

時間複雜度: o(n)

空間複雜度: o(n)

位運算/狀態壓縮

在原題目中,只給了小寫字母示例,一共有26個字母,而int有32位,所以int的相應位是否為1,可以作為判斷重複的依據。

class solution 

return true;}};

時間複雜度: o(n)

空間複雜度: o(1)

容器可以使用迭代器進行初始化.

紅黑樹需要遵循如下幾個規則:

每次初始插入的節點為紅色,如果插入後破壞了上述的規則,就需要調調整,調整有兩種方法:

紅黑樹總結:紅黑樹中與其節點必須要始終滿足上述五個規則,當插入或者刪除乙個節點時,可能會破壞規則,所以需要通過一系列的變色和旋轉來進行調整,使之最終滿足上述五個規則。

具體操作例項:

面試題 01 01 判定字元是否唯一

實現乙個演算法,確定乙個字串 s 的所有字元是否全都不同。此題首先可以問一下是否為ascii字元還是unicode字元。對於ascii字元來說最多就256個字元,因此,如果大於256在false。自己解 bool isunique string astr return true 金典解 bool i...

面試題 01 01 判定字元是否唯一

面試題 01.01.判定字元是否唯一 力扣 leetcode 使用雜湊表就會很簡單,時空複雜度都是o n class solution for const auto c astr return true 可以使用bitset class solution for const auto c astr ...

刷題 力扣 面試題 01 01 判定字元是否唯一

題目鏈結 題目描述 實現乙個演算法,確定乙個字串 s 的所有字元是否全都不同。示例 1 輸入 s leetcode 輸出 false示例 2 輸入 s abc 輸出 true限制 題目分析 根據題目描述,沒有提到字串中可能出現的字元範圍,已經包含字元的編碼方式 對字串進行排序,排序後相同的字元相鄰 ...