Java 編寫乙個方法,實現基本的字串壓縮功能

2021-07-03 16:08:31 字數 727 閱讀 6468

利用重複字元出現的次數,編寫乙個方法,實現基本的字串壓縮功能。

例如,字串aabcccccaaa會變為a2b1c5a3。若壓縮後的字串沒有變短,則返回原先的字串。

stringbuffer:

如果頻繁地對字串進行拼接,直接用「+」的話會建立很多string型的物件,對伺服器資源和效能是不小的開銷,例如下面的**:

public string compressbad (string str)

else

}return mystr += last + count;

}

其實這種情況下可以使用stringbuffer。stringbuffer量隨著內部儲存的字串長度而翻倍增大,會先建立乙個能容納所有字元的陣列,容等拼接完成再將這些字串轉成乙個字串。而且stringbuffer比起stringbuilder是執行緒安全的。

public string compressbetter (string str)

else

}int size = countcompression(mystr.tostring());

if (size > str.length())

else

}int countcompression(string urstr)

else

}return size;

}}

面試5之編寫乙個方法,實現基本的字串壓縮功能。

題目描述 利用字元重複出現的次數,編寫乙個方法,實現基本的字串壓縮功能。比如,字串 aabcccccaaa 經壓縮會變成 a2b1c5a3 若壓縮後的字串沒有變短,則返回原先的字串。給定乙個string inistring為待壓縮的串 長度小於等於10000 保證串內字元均由大小寫英文本母組成,返回...

編寫乙個程式,實現鏈棧的各種基本運算

完成如下功能 1 初始化鏈棧s 2 判斷鏈棧s是否非空 3 依次進鏈棧元素a,b,c,d,e 4 判斷鏈棧s是否非空 5 輸出鏈棧長度 6 輸出從棧頂到棧底元素 7 輸出出鏈棧序列 8 判斷鏈棧s是否非空 9 釋放鏈棧 include iostream include malloc.h using ...

編寫乙個程式,實現鏈隊的各種基本運算

完成如下功能 1 初始化鏈隊q 2 判斷鏈隊q是否非空 3 依次進隊元素a,b,c 4 出隊乙個元素,並輸出該元素 5 輸出鏈隊q的元素個數 6 依次進鏈隊元素d,e,f 7 輸出鏈隊q的元素個數 8 輸出出隊序列 9 釋放鏈隊 include iostream using namespace st...