如何判斷乙個字元是否包含重複的字元

2021-10-25 03:48:29 字數 993 閱讀 5082

判斷乙個字串是否包含字串。

最簡單的方法就是把這個字串看作乙個字串陣列,對該陣列使用雙迴圈進行遍歷,即對每個字元,都將這個字元與後面所有的字元進行比較,如果能找到相同的字元,則說明字串包含有重複的字元。

由於這種方法使用了雙迴圈對字元陣列進行遍歷,因此,演算法的時間複雜度為o(n^2)(其中,n是指的字串的長度)。

在演算法中經常會採用空間換時間的方法。由於常見的字元只有256個,可以假設這個題目涉及的字串中不同的字串最多為256個,那麼可以申請乙個大小為256的int型別陣列來記錄每個字元出現的次數,初始化都為0,那麼把這個字元的編碼作為陣列的代表,在遍歷字元陣列時,如果這個字元出現的次數為0,那麼把它置為1。如果為1,則說明這個字串已經在前面出現過,因此字串包含重複的字串。採用這種方法止血藥對陣列進行一次遍歷就可以。

由於這種方法對字串進行了一次遍歷,因此,演算法的時間複雜度為o(n)。(其中,n是指的字串的長度)。此外這種方法申請了8個額外的儲存空間。

php如何判斷乙個字串是否包含另乙個字串

來自1 我覺得最簡單的就是 用這種最好,strpos效率最高 strpos a,b false 如果 a 中存在 b,則為 true 否則為 false。用 false 或者 false 的原因是如果 b 正好位於 a的開始部分,那麼該函式會返回int 0 那麼0是false,但 b確實位於 a中,...

c 判斷乙個字串是否包含另乙個字串

c 開發過程中針對字串string型別的操作是常見操作,有時候需要判斷某個字串是否包含在另乙個字串,此時可以使用indexof方法以及contain方法來實現此功能,contain方法返回true和false,而indexof方法可以返回所在的索引位置,如果為查詢到對應的字串,則返回 1。c 中字串...

indexOf判斷乙個字串是否包含另乙個字串

jdk中的表述如下 indexof public int indexof string str 返回指定子字串在此字串中第一次出現處的索引。返回的整數是 this.startswith str,k 為 true 的最小 k 值。引數 str 任意字串。返回 如果字串引數作為乙個子字串在此物件中出現,...