基本字串壓縮
基本字串壓縮
時間限制:3秒空間限制:32768K
題目描述
利用字元重複出現的次數,編寫一個方法,實現基本的字串壓縮功能。比如,字串“aabcccccaaa”經壓縮會變成“a2b1c5a3”。若壓縮後的字串沒有變短,則返回原先的字串。
給定一個string iniString為待壓縮的串(長度小於等於3000),保證串內字元均由大小寫英文字母組成,返回一個string,為所求的壓縮後或未變化的串。
測試樣例
"aabcccccaaa"
返回:"a2b1c5a3"
"welcometonowcoderrrrr"
返回:"welcometonowcoderrrrr"
public class Main { public static void main(String[] args){ Main m=new Main(); System.out.print(m.zipString("aabcccccaaa")); } public String zipString(String iniString) { StringBuilder sb=new StringBuilder(); /*記錄字元出現的次數*/ int count=1; /*獲得字元陣列*/ char[] array=iniString.toCharArray(); /*記錄連續的字元*/ Character lastChar=array[0]; sb.append(lastChar); for(int i=1;i<array.length;i++){ /*連續字元的情況*/ if(array[i]==lastChar){ count++; }else{ /*新字元出現,輸出上一個字元的出現次數*/ sb.append(count); /*重新置位*/ lastChar=array[i]; sb.append(lastChar); count=1; } } /*注意最後一個字元的出現次數*/ sb.append(count); String result=sb.toString(); /*壓縮後的長度不能更長*/ if(result.length()>=iniString.length()){ return iniString; }else{ return sb.toString(); } } }
相關文章
- PAT-B 1078 字串壓縮與解壓【字串】字串
- 字串壓縮(一)之ZSTD字串
- 壓縮字串《演算法很美》字串演算法
- 字串壓縮(二)之LZ4字串
- 8-字串的壓縮儲存字串
- 第五章 字串專題 ---------------- 5.5 題解:壓縮字串字串
- 藍橋杯 演算法提高 字串壓縮演算法字串
- 【leetcode 簡單】 第一百零六題 壓縮字串LeetCode字串
- Nginx網路壓縮 CSS壓縮 圖片壓縮 JSON壓縮NginxCSSJSON
- PAT1078字串壓縮與解壓(java實現)字串Java
- 檔案壓縮和解壓縮
- Python實現壓縮和解壓縮Python
- JS壓縮方法及批量壓縮JS
- linux下壓縮解壓縮命令Linux
- linux壓縮和解壓縮命令整理Linux
- Linux tar分卷壓縮與解壓縮Linux
- CentOS 壓縮解壓CentOS
- Linux壓縮解壓Linux
- linux 高效壓縮工具之xz的壓縮解壓使用Linux
- Linux中檔案的壓縮和解壓縮Linux
- Gzipped 壓縮
- 打包/壓縮
- linux分卷壓縮解壓Linux
- linuxtar解壓和壓縮Linux
- 壓縮包格式有哪些?壓縮包格式大全
- ppt怎麼壓縮,ppt壓縮的技巧分享
- 壓縮Word,一鍵實現Word文件壓縮
- 分卷壓縮怎麼解壓 快速解壓電腦分卷壓縮檔案方法
- Linux 常用的壓縮與解壓縮命令詳解Linux
- Linux下的tar壓縮解壓縮命令詳解Linux
- .NET 壓縮/解壓檔案
- Keka for Mac壓縮解壓工具Mac
- Keka for Mac(壓縮解壓工具)Mac
- Linux打包壓縮解壓工具Linux
- MyZip for mac解壓壓縮工具Mac
- 【Linux基礎】壓縮和解壓Linux
- zip壓縮檔案處理方案(Zip4j壓縮和解壓)
- 狀態壓縮
- JavaScript 影像壓縮JavaScript