演算法 編寫演算法移除乙個字串中重複的字元

2021-06-16 14:20:12 字數 467 閱讀 5958

題目:設計演算法並寫出**移除字串中重複的字元,不能使用額外的快取空間。注意:可以使用額外的乙個或兩個變數,但不允許

額外再開乙個陣列拷貝。

分析:方法有很多種,這裡主要是對字串中的每個字元與它前面出現過的所有字元進行比較,如果前面出現過就把這個字元刪除掉

**如下:

從上面的**可以看出演算法的時間複雜度為o(n*n);

這裡要求的是不能申請額外的空間,否則可以申請乙個256空間的字元(假設是ascii字符集)對應每個字元,然後對字串

進行一遍遍歷即可!這個實現方法可以參看前面的演算法:字串重複問題!

乙個字串演算法問題

已知一組數字 21,25,11,32,12,35,55,77,66 要求按以下規則進行排序 第乙個數最大,第二個數最小,第三個數是剩下中的最大的,第四個數是剩下中的最小的,依此類推,請設計乙個字元介面的程式解決之 c codes as below class program console.read...

在乙個字串中尋找另外乙個字串

在乙個字串中尋找另外乙個字串 public class text foundit true break test system.out.println foundit?found it didn t find it 該段程式有點難以理解,主要就是if語句的理解,if searchme.charat ...

判斷乙個字串是否在另乙個字串中

方法一 string str1 nihaoksdoksad string str2 ok int total 0 for string tmp str1 tmp null tmp.length str2.length tmp tmp.substring 1 system.out.println st...