基本字串壓縮
基本字串壓縮
時間限制: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(); } } }
相關文章
- 字串的壓縮和解壓縮字串
- 字串壓縮(一)之ZSTD字串
- Linux 常用基本命令 壓縮 解壓縮 tarLinux
- PAT-B 1078 字串壓縮與解壓【字串】字串
- 壓縮字串《演算法很美》字串演算法
- 8-字串的壓縮儲存字串
- 字串壓縮(二)之LZ4字串
- java字串初步壓縮演算法Java字串演算法
- 《Cracking the Coding Interview程式設計師面試金典》----基本字串壓縮View程式設計師面試字串
- [CareerCup] 1.5 Compress String 壓縮字串字串
- 第五章 字串專題 ---------------- 5.5 題解:壓縮字串字串
- Nginx網路壓縮 CSS壓縮 圖片壓縮 JSON壓縮NginxCSSJSON
- 藍橋杯 演算法提高 字串壓縮演算法字串
- JAVA壓縮和解壓縮Java
- zip壓縮和解壓縮
- PAT1078字串壓縮與解壓(java實現)字串Java
- linux壓縮解壓縮Linux
- JS壓縮方法及批量壓縮JS
- aix 下壓縮與解壓縮AI
- linux壓縮和解壓縮命令Linux
- tar 分卷壓縮&解壓縮命令
- AIX 上壓縮與解壓縮AI
- 【leetcode 簡單】 第一百零六題 壓縮字串LeetCode字串
- 面試題目 字串的去重與壓縮(統計)面試題字串
- linux下壓縮解壓縮命令Linux
- linux壓縮和解壓縮命令整理Linux
- 簡單的zip壓縮和解壓縮
- Linux壓縮及解壓縮命令Linux
- linux壓縮和解壓縮命令大全Linux
- Python實現壓縮和解壓縮Python
- Linux tar分卷壓縮與解壓縮Linux
- Linux tar壓縮和解壓縮等命令Linux
- aix 檔案的壓縮與解壓縮AI
- 打包/壓縮
- HTTP壓縮HTTP
- ORACLE 壓縮Oracle
- Linux壓縮解壓Linux
- linux 高效壓縮工具之xz的壓縮解壓使用Linux