Advertisement
jayinnn1

Untitled

May 29th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. #include<string>
  2. #include"encode.h"
  3. using namespace std;
  4. string encode(const string &data){
  5. string res=""; //要回傳的答案
  6. unsigned sameCnt = 1; //計算現在字元重複連續出現的次數
  7. for(size_t i = 0; i < data.size(); ++i){
  8. if( i && data[i] == data[i-1] ){
  9. ++sameCnt;
  10. }else{
  11. if(sameCnt >= 2){
  12. res += (sameCnt+'0');
  13. res += data[i-1];
  14. } else {
  15. res += data[i-1];
  16. }
  17. //發現現在的字元和前一個字元不一樣的時候該怎辦呢?
  18. sameCnt = 1;
  19. }
  20. }
  21. if( sameCnt >= 2 ){
  22. res += (sameCnt+'0');
  23. res += data[data.size()-1];
  24. }
  25. string temp;
  26. for(int i=1;i<data.size();i++){
  27. temp += res[i];
  28. }
  29. return temp;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement